使用笔记本时将jar添加到pyspark

时间:2015-07-28 13:11:01

标签: python jar apache-spark ipython-notebook pyspark

我正在尝试将mongodb hadoop与spark集成,但无法弄清楚如何让IPython笔记本可以访问jar。

这是我要做的事情:

# set up parameters for reading from MongoDB via Hadoop input format
config = {"mongo.input.uri": "mongodb://localhost:27017/db.collection"}
inputFormatClassName = "com.mongodb.hadoop.MongoInputFormat"

# these values worked but others might as well
keyClassName = "org.apache.hadoop.io.Text"
valueClassName = "org.apache.hadoop.io.MapWritable"

# Do some reading from mongo
items = sc.newAPIHadoopRDD(inputFormatClassName, keyClassName, valueClassName, None, None, config)

当我使用以下命令在pyspark中启动它时,此代码正常工作:

  

spark-1.4.1 / bin / pyspark --jars'mongo-hadoop-core-1.4.0.jar,mongo-java-driver-3.0.2.jar'

其中mongo-hadoop-core-1.4.0.jarmongo-java-driver-2.10.1.jar允许使用java中的mongodb。但是,当我这样做时:

  

IPYTHON_OPTS =“notebook”spark-1.4.1 / bin / pyspark --jars'mongo-hadoop-core-1.4.0.jar,mongo-java-driver-3.0.2.jar'

罐子不再可用,我收到以下错误:

  

java.lang.ClassNotFoundException:com.mongodb.hadoop.MongoInputFormat

有谁知道如何让IPy可用于IPython笔记本中的火花?我很确定这不是特定于mongo所以也许有人已经成功地在使用笔记本时将jar添加到类路径中了?

1 个答案:

答案 0 :(得分:4)

非常相似,请告诉我这是否有帮助: https://issues.apache.org/jira/browse/SPARK-5185