2015-07-16 12 views
6

Sto tentando di includere automaticamente i jar nel mio classpath PySpark. In questo momento posso digitare il seguente comando e funziona:Automaticamente inclusi i vasi nel classpath PySpark

$ pyspark --jars /path/to/my.jar 

Mi piacerebbe avere quel vaso incluso di default in modo che posso solo digitare pyspark e anche utilizzarlo in IPython Notebook.

Ho letto che posso includere l'argomento impostando PYSPARK_SUBMIT_ARGS in ENV:

export PYSPARK_SUBMIT_ARGS="--jars /path/to/my.jar" 

Purtroppo quanto sopra non funziona. Ottengo l'errore di runtime Failed to load class for data source.

Running Spark 1.3.1.

Modifica

mia soluzione quando si utilizza IPython Notebook è la seguente:

$ IPYTHON_OPTS="notebook" pyspark --jars /path/to/my.jar 

risposta

12

È possibile aggiungere i file jar nel file discintilla defaults.conf (che si trova nella cartella conf della tua installazione di scintilla). Se è presente più di una voce nell'elenco dei jar, utilizzare: come separatore.

spark.driver.extraClassPath /path/to/my.jar 

Questa proprietà è documentata in https://spark.apache.org/docs/1.3.1/configuration.html#runtime-environment

+1

Viene visualizzato un errore: 'Py4JJavaError: si è verificato un errore durante la chiamata di o28.load. : java.sql.SQLException: nessun driver adatto \t a java.sql.DriverManager.getDriver (DriverManager.java:315) ' – FullStack

+0

@FullStack anche a me, hai trovato una soluzione? – thebeancounter

7

Per quanto ne so, è necessario importare vasetti per sia per il guidatore E esecutore. Pertanto, devi modificare conf/spark-defaults.conf aggiungendo entrambe le righe di seguito.

spark.driver.extraClassPath /path/to/my.jar 
spark.executor.extraClassPath /path/to/my.jar 

Quando ho passato questo, non avevo bisogno di altri parametri. Immagino che non ti serviranno anche loro.

+0

'spark.executor.extraClassPath' è solo per retrocompatibilità (non sono sicuro a questo punto è cambiato), ma nella documentazione corrente si afferma che non è necessario a meno che non si sta eseguendo una versione precedente: https: // scintilla .apache.org/docs/ultima/configuration.html # runtime-ambiente –

Problemi correlati