2017-04-26 104 views
-1

在Scala应用程序中使用Spark MongoDB连接器时,您可以通过import com.mongodb.spark.config._导入MongoSpark伴侣对象,然后运行 val rdd = MongoSpark.load(spark)加载您的采集。我想在python应用程序中做同样的事情,但我应该如何让MongoSpark对象在我的python应用程序中可用。没有安装和导入的python包。什么是解决方法python中的MongoSpark伴侣对象

回答

0

有关更多信息,请参阅Spark Connector Python Guide

下面是一个简单的例子,从pySpark连接到MongoDB的:

from pyspark.sql import SparkSession 

spark = SparkSession \ 
    .builder \ 
    .appName("myApp") \ 
    .config("spark.mongodb.input.uri", "mongodb://127.0.0.1/test.coll") \ 
    .config("spark.mongodb.output.uri", "mongodb://127.0.0.1/test.coll") \ 
    .getOrCreate() 

df = spark.read.format("com.mongodb.spark.sql.DefaultSource").load() 
df.printSchema() 
+0

它提供了异常:Py4JJavaError:同时呼吁o71.load发生错误。 :java.lang.ClassNotFoundException:无法找到数据源:com.mongodb.spark.sql.DefaultSource。请在http://spark.apache.org/third-party-projects.html找到软件包。 – yashar

+0

我应该如何在python应用程序中使com.mongodb.spark.sql.DefaultSource可用,比方说在spyder IDE中。 – yashar

+1

你需要包含jar /包。当运行pyspark时,你可以添加:'--packages org.mongodb.spark:mongo-spark-connector_2.11:2.0.0' – Ross