E-MapReduce(EMR)Data Lake またはカスタムクラスターにデプロイされた Spark の Python 環境への依存関係は、Spark のバージョンによって異なります。このトピックでは、Python 3 を例として、Spark のバージョンと Python のバージョンのマッピングについて説明します。また、サードパーティ製 Python ライブラリのインストール方法についても説明します。
Spark のバージョンと Python のバージョンのマッピング
EMR バージョン | Spark バージョン | Python バージョン | Python パス |
EMR V3.46.0 以降のマイナーバージョン、または EMR V5.12.0 以降のマイナーバージョン | Spark 2 | Python 3.6 | /bin/python3.6 |
Spark 3 | Python 3.8 | /bin/python3.8 | |
EMR V3.43.0 から EMR V3.45.1、または EMR V5.9.0 から EMR V5.11.1 | Spark 2 | Python 3.7 | /usr/local/bin/python3.7 |
Spark 3 | Python 3.7 | /usr/local/bin/python3.7 | |
EMR V3.42.0 または EMR V5.8.0 | Spark 2 | Python 3.6 | /bin/python3.6 |
Spark 3 | Python 3.6 | /bin/python3.6 |
サードパーティ製 Python ライブラリのインストール
pip3.8 をインストールします。
EMR V3.46.0 から EMR V3.48.0、または EMR V5.12.0 から V5.14.0 では、pip3.8 を手動でインストールする必要はありません。
sudo yum install -y python38-pip
NumPy や pandas などのサードパーティ製 Python ライブラリをインストールします。例として Python 3.8 を使用しています。
pip3.8 install numpy pandas
コアノードやタスクノードなどの EMR ノードがインターネットにアクセスできない場合、またはインストールプロセスを高速化したい場合は、Alibaba Cloud が提供する Python Package Index(PyPI)イメージを使用できます。