2016-02-28 145 views

回答

2

是的,這是可能的,但可以是痛苦的。儘管Python本身並不是問題,並且您只需要設置$SPARK_HOME,那麼請添加$SPARK_HOME/python(如果不能以其他方式訪問),PySpark腳本也會處理JVM設置(例如,--packages,--jars,等)。

這可以使用PYSPARK_SUBMIT_ARGS變量或使用$SPARK_HOME/conf(例如參見How to load jar dependenices in IPython Notebook)來處理。

有一箇舊的blog post from Cloudera,它描述了示例配置,並且據我所知,仍然有效。

+0

如果我想發送我自己的具有幾個類的'py'庫,等等如何? –

+0

@AlbertoBonsanto像往常一樣。如果可能的話,安裝在工作人員上或使用PyFiles發送。你有沒有遇到任何問題? – zero323

+0

該文檔非常含糊,我試圖在沒有任何「Python」或「Scala」中產生任何積極結果的情況下做到這一點,我必須再次嘗試。 –

1

你可以考慮爲Jupyter創建一個pySpark內核 - 它會爲你導入pyspark包。

創建文件(需要先創建目錄;對於舊版本,可能在其他地方設):

~/.local/share/jupyter/kernels/pyspark/kernel.json 

具有以下內容:

{ 
"display_name": "pySpark (Spark 1.6.0)", 
"language": "python", 
"argv": [ 
    "/usr/bin/python2", 
    "-m", 
    "IPython.kernel", 
    "-f", 
    "{connection_file}" 
], 
"env": { 
    "SPARK_HOME": "/usr/local/lib/spark-1.6.0-bin-hadoop2.6", 
    "PYTHONPATH": "/usr/local/lib/spark-1.6.0-bin-hadoop2.6/python/:/usr/local/lib/spark-1.6.0-bin-hadoop2.6/python/lib/py4j-0.9-src.zip", 
    "PYTHONSTARTUP": "/usr/local/lib/spark-1.6.0-bin-hadoop2.6/python/pyspark/shell.py", 
    "PYSPARK_SUBMIT_ARGS": "pyspark-shell" 
} 
} 

變化適當星火的路徑。

0

假定您尚未創建的背景下,我喜歡設置爲使用PYSPARK_SUBMIT_ARGS提交ARGS:

import os 

os.environ['PYSPARK_SUBMIT_ARGS'] = '--driver-memory 15g --packages com.databricks:spark-csv_2.10:1.3.0 pyspark-shell'