【问题标题】:How to use mongo-spark connector in python如何在 python 中使用 mongo-spark 连接器
【发布时间】:2018-01-02 10:36:18
【问题描述】:

我是 python 新手。我正在尝试从 mongo 集合创建一个 Spark DataFrame。 为此我选择了 mongo-spark 连接器 link-> https://github.com/mongodb/mongo-spark

我不知道如何在我的 python 独立脚本中使用这个 jar/git repo。 我想知道如何克隆存储库,以便我可以在 Windows 上的独立 pyspark 脚本中使用它

【问题讨论】:

标签: python mongodb pyspark


【解决方案1】:

对于仍在为此苦苦挣扎的人。最后对我有用的是以下配置(设置或配置您的 mongo-spark-connector):

MongoDb 版本 3.4.14; Spark 2.2.1 版; 斯卡拉版本 2.11.8;

罐子:

mongo-spark-connector_2.11-2.2.1.jarmongodb-driver-core-3.4.2.jarmongo-java-driver-3.4.2.jarbson-3.4.2.jar

使用正确的 SparkScala 版本和正确的 mongo-spark-connector jar 版本显然是关键,包括所有正确的版本mongodb-driver-corebsonmongo-java-driver jar。

我必须检查 Maven Central 上 mongo-spark-connector 版本的 pom.xml 我需要查看哪个版本的 mongo-java-driver需要,然后下载相应的 mongodb-driver-corebson jars。

最后测试:Scala

spark-shell --conf "spark.mongodb.input.uri=mongodb://<username>:<password>@<server>/<database>.<collection>?readPreference=primaryPreferred" --conf "spark.mongodb.output.uri=mongodb://mongodb://<username>:<password>@<server>/<database>.<collection>" --jars <path to jar>/mongo-spark-connector_2.11-2.2.1.jar,<path to jar>/mongodb-driver-core-3.4.2.jar,<path to jar>/bson-3.4.2.jar,<path to jar>/mongo-java-driver-3.4.2.jar

scala> import com.mongodb.spark._
import com.mongodb.spark._

scala> val rdd = MongoSpark.load(sc)
println(rdd.count)

测试 pyspark:使用聚合管道的示例

pyspark --jars <path to jar>/mongo-spark-connector_2.11-2.2.1.jar,<path to jar>/mongodb-driver-core-3.4.2.jar,<path to jar>/bson-3.4.2.jar,<path to jar>/mongo-java-driver-3.4.2.jar

In [1]: stage1="{'$match':{'_id':ObjectId('<SOME UID>')}}"
In [2]: df=spark.read.format("com.mongodb.spark.sql.DefaultSource").option("uri","mongodb://<username>:<password>@<server><database>.<collection>").option("pipeline",stage1).load()
In [3]: df.printSchema()

【讨论】:

    【解决方案2】:

    检查下面的代码,如果有帮助,请告诉我

    hadoop2.7$ mongod --version
    
    db version v3.6.8
    
    hadoop2.7$ bin/pyspark --packages org.mongodb.spark:mongo-spark-connector_2.11:2.2.0
    
    https://github.com/mak705/Spark_NoSql_Connector/blob/master/Mongo_Spark.ipynb
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-09
      • 2019-06-02
      • 2017-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多