私は Amazon EMR クラスターインスタンスに Python 3.4.3 がインストールされていることは知っていますが、Spark その他のプログラムでデフォルトで使われる Python バージョンは Python 2.7.10 です。デフォルトの Python バージョンを Python 3 に変更して、pyspark ジョブを実行するにはどうすればいいですか。

EMR クラスターの起動中にデフォルトの Python 環境を変更するには、EMR 構成ファイルを更新して、以下のパスのいずれかに、PYSPARK_PYTHON 環境変数を設定します。

/usr/bin/python3

必要な変更を行うと、EMR 構成ファイルには、次のような JSON が追加されます。

[

    {

    "Classification": "spark-env",

    "Configurations": [

            {

                "Classification": "export",

                "Properties": {

                    "PYSPARK_PYTHON": "/usr/bin/python3"

                }

            }

        ]

    }

]

Spark のデフォルトを変更せずに Python 3 ランタイムを使って pyspark ジョブを実行する場合、特定の場所にあるスクリプト (以下の例では、スクリプトは s3://mybucket/myscript.py にあると仮定) を呼び出すときに、PYSPARK_PYTHON 環境変数を直接渡すことができます。

$ command-runner.jar spark-submit --deploy-mode cluster --conf PYSPARK_PYTHON=/usr/bin/python3 s3://mybucket/mypath/myscript.py

pyspark、Python 3、EMR Python3、EMR Spark Python3、EMR Spark Python のデフォルト


このページは役に立ちましたか? はい | いいえ

AWS サポートナレッジセンターに戻る

サポートが必要ですか?AWS サポートセンターをご覧ください。

公開日: 2016 年 10 月 26 日