2015-07-28 12 views
5

Sto provando l'integrazione di hadoop mongodb con spark ma non riesco a capire come rendere i vasi accessibili a un notebook IPython.Aggiungi jar a pyspark quando si utilizza il notebook

Ecco quello che sto cercando di fare:

# 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) 

Questo codice funziona bene quando lo lancio in pyspark utilizzando il seguente comando:

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

dove mongo-hadoop-core-1.4.0.jar e mongo-java-driver-2.10.1.jar consente di utilizzare MongoDB da Giava. Tuttavia, quando faccio questo:

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

I vasi non sono più disponibile e ottengo il seguente errore:

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

Qualcuno sa come fare vasi a disposizione la scintilla nel quaderno IPython? Sono abbastanza sicuro che questo non è specifico per mongo, quindi forse qualcuno è già riuscito ad aggiungere dei jar al classpath mentre usa il notebook?

+0

provare a utilizzare --files. fare riferimento - http://stackoverflow.com/questions/31602128/spark-submit-yarn-cluster-with-jars-does-not-work/31604360#31604360 –

risposta

Problemi correlati