以下のコードでは、オプションマップを使用してreadConfigにmongo uriとデータベースを渡そうとしました。しかし、それはuriやデータベースが見つかりませんエラーを与える。Sparkでmongo dbのreadConfigにuriとデータベースを追加するには?
`
public JavaMongoRDD<Document> getRDDFromDS(DataSourceInfo ds, String collectionName){
String mongoDBURI = "mongodb://"
+ PropertiesFileEncryptorUtil.decryptData(ds.getDbUsername()) + ":"
+ PropertiesFileEncryptorUtil.decryptData(ds.getDbPassword()) + "@"
+ ds.getHostName() + ":" + ds.getPort();
Map<String, String> readOverrides = new HashMap<String, String>();
readOverrides.put("uri", mongoDBURI);
readOverrides.put("database", ds.getDbName());
readOverrides.put("collection", collectionName);
readOverrides.put("partitioner", mongoDBInputPartitioner);
readOverrides.put("partitionKey", mongoDBPartitionKey);
readOverrides.put("partitionSizeMB", mongoDBInputPartitionSize);
ReadConfig readConf = ReadConfig.create(jsc).withOptions(readOverrides);
JavaMongoRDD<Document> readRdd = MongoSpark.load(jsc, readConf);
return readRdd;
}`
URIとデータベースを渡すための正しい方法は何ですか。 ありがとうございます。
あなたが設定変数によってスパークする設定パラメータを渡すことができます
役立ちました願っていますか?バグはすでに修正されていると思います。オプションで直接readConfを作成することもできます。 – Ross
私は 'org.mongodb.spark:mongo-spark-connector_2.11:2.0.0-rc1'を使用しています。これを変更する必要があります。これはgradleを使用していて、上記をmavenの最新のものとして検出しました。前回は100MBサイズのソートが修正されました。今私はチェックし、2.0.0が最新のものであることを発見しました、私は2.0.0としようとしています。 –
@Ross、あなたの素早い応答に感謝します。私は2.0.0のバージョンでテストしています。読み込み設定を渡している間に、mongoクライアントのuse sslフラグを渡す方法を教えてください。 –