E-MapReduce (EMR) DataLake およびカスタムクラスターでは、Python 3 を使用した PySpark がサポートされています。利用可能な Python バージョンは、使用する EMR バージョンおよび Spark バージョンによって異なります。本トピックでは、各バージョン間の対応関係(マッピング)およびクラスターノードへのサードパーティ製 Python ライブラリのインストール方法について説明します。
Python バージョンのマッピング
以下の表は、EMR バージョンと Spark バージョンの組み合わせごとに使用可能な Python バージョンおよび実行可能ファイルのパスを示しています。
| EMR バージョン | Spark バージョン | Python バージョン | Python パス |
|---|---|---|---|
| EMR V3.46.0 以降のマイナーバージョン、または EMR V5.12.0 以降のマイナーバージョン | Spark 2 | Python 3.6 | /bin/python3.6 |
| EMR V3.46.0 以降のマイナーバージョン、または EMR V5.12.0 以降のマイナーバージョン | 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 |
| EMR V3.43.0 ~ EMR V3.45.1、または EMR V5.9.0 ~ EMR V5.11.1 | 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 |
| EMR V3.42.0 または EMR V5.8.0 | Spark 3 | Python 3.6 | /bin/python3.6 |
サードパーティ製 Python ライブラリのインストール
以下の手順では、Python 3.8 を例として説明します。
ステップ 1:pip3.8 のインストール
EMR V3.46.0 ~ EMR V3.48.0、または EMR V5.12.0 ~ EMR V5.14.0 を使用する場合、pip3.8 を手動でインストールする必要はありません。
sudo yum install -y python38-pipステップ 2:サードパーティ製ライブラリのインストール
NumPy や pandas などのサードパーティ製 Python ライブラリをインストールします:
pip3.8 install numpy pandasステップ 3:オフライン環境または高速インストール向けに PyPI ミラーを使用
ノードがインターネットにアクセスできない場合、またはインストールを高速化したい場合は、Alibaba Cloud が提供する Python Package Index (PyPI) ミラーを使用してください。