您可以使用unity JDBC 和MongoDB Java Driver
import mongodb.jdbc.MongoDriver
導入兩個類SparkConf和SparkContext
import org.apache.spark.sql.{DataFrame, SQLContext}
只需使用您的MongoDB更換URL的MongoDB閱讀網址。 dbtable,其中包含要爲其創建數據框的表的名稱。 替換您的db2數據庫服務器的用戶名和密碼。
val url = "jdbc:mongo://ds045252.mlab.com:45252/samplemongodb"
val dbtable = "Photos"
val user = "charles2588"
val password = "*****"
val options = scala.collection.Map("url" -> url,"driver" -> "mongodb.jdbc.MongoDriver","dbtable" ->dbtable,"user"->user,"password"->password)
現在從已經DB2驅動程序加載
val sqlContext = new SQLContext(sc)
創建一個從您的SQLContext一個dataframereader爲你的餐桌
val dataFrameReader = sqlContext.read.format("jdbc").options(options)
調用load方法來創建新的Spark環境中創建新SQLContext DataFrame用於您的表格。
val tableDataFrame = dataFrameReader.load()
呼叫show()方法來顯示錶的內容
tableDataFrame.show()
價: http://bigdataauthority.blogspot.com/2016/03/connecting-to-mongodb-from-ibm-bluemix.html
謝謝,
查爾斯。
嗨,我嘗試以這種方式連接到mongodb時出現錯誤Auth失敗。在添加選項「dbname」 - >「admin」之後,我可以訪問mongodb。但它帶來了新的錯誤: 採樣採集時出錯:system.profile .....所以我在dataFrameReader中什麼都沒有。任何建議? –