2016-09-14 43 views
4

我正在使用​​(Spark 2.0)在AWS EMR上運行boo.py腳本。爲什麼在YARN集羣模式下spark-submit沒有在執行器上找到python包?

文件順利完成,當我使用

python boo.py 

然而,它沒有當我在yarn logs -applicationId ID_number顯示試驗

spark-submit --verbose --deploy-mode cluster --master yarn boo.py 

日誌:

Traceback (most recent call last): 
File "boo.py", line 17, in <module> 
import boto3 
ImportError: No module named boto3 

pythonboto3模塊我正在使用的是

$ which python 
/usr/bin/python 
$ pip install boto3 
Requirement already satisfied (use --upgrade to upgrade): boto3 in /usr/local/lib/python2.7/site-packages 

如何附加此庫路徑,以便​​可以讀取boto3模塊?

回答

3

當您運行spark時,部分代碼在驅動程序上運行,部分代碼在執行程序上運行。

您是否僅在驅動程序或驅動程序+可能運行代碼的所有執行程序(節點)上安裝boto3?

一種解決方案是 - 在所有執行者(節點)安裝boto3

如何安裝Python模塊在Amazon EMR節點

How to bootstrap installation of Python modules on Amazon EMR?

相關問題