在下面的代碼中,我嘗試使用選項映射在readConfig中傳遞mongo uri和數據庫。但它的錯誤,沒有找到uri或數據庫。如何在readConfig中爲Spark中的mongo db添加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和數據庫的正確途徑。 在此先感謝。
什麼版本的火花連接器您使用的是有幫助嗎?我認爲這個bug已經修復了。您也可以直接使用選項創建readConf。 – Ross
我正在使用'org.mongodb.spark:mongo-spark-connector_2.11:2.0.0-rc1',我需要更改這個,因爲我正在使用gradle,並在maven中找到了上面最新的一個上次爲100 MB大小的排序問題進行了修正。現在我查了一下,發現2.0.0是最新的一個,我用2.0.0試着讓你知道。 –
@Ross,感謝您的快速響應,我正在使用2.0.0版本進行測試,請您幫我解釋如何在傳遞讀取配置的同時爲mongo客戶端傳遞ssl標誌。 –