从mongodb读取火花
通过spark读取mongodb有更好的选择吗?目前我使用 我理解正确吗从mongodb读取火花,mongodb,apache-spark,apache-spark-sql,Mongodb,Apache Spark,Apache Spark Sql,通过spark读取mongodb有更好的选择吗?目前我使用 我理解正确吗 val mongoRDD = sql.fromMongoDB(mongoConfigurationData) mongoRDD.registerTempTable("myTable") 因为最初扫描了大量数据,所以速度很慢? 怎么会这样 sql.sql("CREATE TEMPORARY TABLE myTable USING mongoConfigurationData)") seems to be slowe
val mongoRDD = sql.fromMongoDB(mongoConfigurationData)
mongoRDD.registerTempTable("myTable")
因为最初扫描了大量数据,所以速度很慢?
怎么会这样
sql.sql("CREATE TEMPORARY TABLE myTable USING mongoConfigurationData)") seems to be slower?
您可以使用 及 导入两个类SparkConf和SparkContext
import org.apache.spark.sql.{DataFrame, SQLContext}
只需用mongodb url替换url即可。
dbtable,其中包含要为其创建dataframe的表的名称。
替换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驱动程序的新Spark上下文创建新的SQLContext
val sqlContext = new SQLContext(sc)
从表的SQLContext创建dataframereader
val dataFrameReader = sqlContext.read.format("jdbc").options(options)
调用load方法为您的表创建DataFrame
val tableDataFrame = dataFrameReader.load()
调用show()方法以显示表内容
tableDataFrame.show()
参考:
谢谢
Charles。您可以使用 及 导入两个类SparkConf和SparkContext
import org.apache.spark.sql.{DataFrame, SQLContext}
只需用mongodb url替换url即可。
dbtable,其中包含要为其创建dataframe的表的名称。
替换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驱动程序的新Spark上下文创建新的SQLContext
val sqlContext = new SQLContext(sc)
从表的SQLContext创建dataframereader
val dataFrameReader = sqlContext.read.format("jdbc").options(options)
调用load方法为您的表创建DataFrame
val tableDataFrame = dataFrameReader.load()
调用show()方法以显示表内容
tableDataFrame.show()
参考:
谢谢
Charles。您好,当我尝试以这种方式连接mongodb时,出现了一个错误,身份验证失败。在我添加选项“dbname”->“admin”之后,我可以访问mongodb。但它带来了新的错误:采样时出错:system.profile。。。。。所以我在dataFrameReader中什么也得不到。有什么建议吗?嗨,当我尝试以这种方式连接mongodb时,我收到一个错误,身份验证失败。在我添加选项“dbname”->“admin”之后,我可以访问mongodb。但它带来了新的错误:采样时出错:system.profile。。。。。所以我在dataFrameReader中什么也得不到。有什么建议吗?