我正在尝试将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.jar
和mongo-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添加到类路径中了?