EMR DataLake和自訂叢集安裝的Spark版本對Python環境的依賴各不相同。本文以Python3為例,介紹不同Spark版本所對應的Python版本,以及安裝Python第三方庫的方法。
Spark版本與Python版本對應關係
EMR版本 | Spark版本 | Python版本 | Python路徑 |
EMR-3.46.0及後續版本、EMR-5.12.0及後續版本 | Spark2 | python3.6 | /bin/python3.6 |
Spark3 | python3.8 | /bin/python3.8 | |
EMR-3.43.0~EMR-3.45.1版本、EMR-5.9.0~EMR-5.11.1版本 | Spark2 | python3.7 | /usr/local/bin/python3.7 |
Spark3 | python3.7 | /usr/local/bin/python3.7 | |
EMR-3.42.0版本、EMR-5.8.0版本 | Spark2 | python3.6 | /bin/python3.6 |
Spark3 | python3.6 | /bin/python3.6 |
Python第三方庫安裝
安裝pip3.8。
部分EMR版本(EMR 3.46.0~EMR 3.48.0版本、EMR 5.12.0~EMR 5.14.0版本)未安裝pip3.8,需要手動安裝。
sudo yum install -y python38-pip安裝numpy、pandas等Python三方庫(以Python 3.8為例)。
pip3.8 install numpy pandas如果EMR節點無法訪問公網(例如Core或Task節點)或者希望加速安裝流程,可使用阿里雲PyPI鏡像。