2

Google Cloud Platformのdataprocを使ってpysparkジョブを実行したいのですが、デフォルトで2.7の代わりにpython3を実行するようにpysparkを設定する方法がわかりません。googleのdataproc pysparkでpython3を実行するには

私はクラスタにsshをするとき、私は見つけることができました最高のは、しかし、これらのinitialization commands

を追加して、その後
(a)のpythonコマンドはまだpython2で、
(b)は、私の仕事がうまくいきませんでしたPython 2の非互換性です。

python2をアンインストールして、私のinit.shスクリプトで別名alias python='python3'を試してみましたが、うれしく、成功しませんでした。エイリアスは固執していないようです。

私はこのようなクラスタ

cluster_config = { 
    "projectId": self.project_id, 
    "clusterName": cluster_name, 
    "config": { 
     "gceClusterConfig": gce_cluster_config, 
     "masterConfig": master_config, 
     "workerConfig": worker_config, 
     "initializationActions": [ 
      [{ 
      "executableFile": executable_file_uri, 
      "executionTimeout": execution_timeout, 
     }] 
     ], 
    } 
} 

credentials = GoogleCredentials.get_application_default() 
api = build('dataproc', 'v1', credentials=credentials) 

response = api.projects().regions().clusters().create(
    projectId=self.project_id, 
    region=self.region, body=cluster_config 
).execute() 

マイexecutable_file_uriがあるが、Googleのストレージに座って作成します。 init.sh

apt-get -y update 
apt-get install -y python-dev 
wget -O /root/get-pip.py https://bootstrap.pypa.io/get-pip.py 
python /root/get-pip.py 
apt-get install -y python-pip 
pip install --upgrade pip 
pip install --upgrade six 
pip install --upgrade gcloud 
pip install --upgrade requests 
pip install numpy 

答えて

2

私は初期化スクリプトは次のようになりますよう、このhereへの答えを見つけました:

#!/bin/bash 

# Install tools 
apt-get -y install python3 python-dev build-essential python3-pip 
easy_install3 -U pip 

# Install requirements 
pip3 install --upgrade google-cloud==0.27.0 
pip3 install --upgrade google-api-python-client==1.6.2 
pip3 install --upgrade pytz==2013.7 

# Setup python3 for Dataproc 
echo "export PYSPARK_PYTHON=python3" | tee -a /etc/profile.d/spark_config.sh /etc/*bashrc /usr/lib/spark/conf/spark-env.sh 
echo "export PYTHONHASHSEED=0" | tee -a /etc/profile.d/spark_config.sh /etc/*bashrc /usr/lib/spark/conf/spark-env.sh 
echo "spark.executorEnv.PYTHONHASHSEED=0" >> /etc/spark/conf/spark-defaults.conf 
0

あなたはまた、/セットアップのPython 3にConda初期化アクションを使用して、必要に応じてピップをインストールすることができますコンドミニアムパッケージ:https://github.com/GoogleCloudPlatform/dataproc-initialization-actions/tree/master/conda

のような何か:

gcloud dataproc clusters create foo --initialization-actions \ gs://dataproc-initialization-actions/conda/bootstrap-conda.sh,gs://dataproc-initialization-actions/conda/install-conda-env.sh

関連する問題