【问题标题】:How to get PySpark working on Google Cloud Dataproc cluster如何让 PySpark 在 Google Cloud Dataproc 集群上运行
【发布时间】:2019-06-12 09:22:20
【问题描述】:

我有一系列问题(抱歉,Google 文档很糟糕而且对用户不友好):

  1. 什么是 Google Cloud 上的 Amazon EMR、Dataproc 的等价物?我正在使用此文档来运行 Spark 作业:https://cloud.google.com/dataproc/docs/tutorials/gcs-connector-spark-tutorial
  2. 您能否通过 ssh 进入主机并在整个集群中运行 Spark,或者您已使用 Google 的 gcloud dataproc jobs submit ... 命令?
  3. 当我在本地运行 Spark 作业并尝试访问 Google Cloud Storage 时,我这样做没有问题。当我尝试使用 Dataproc 时,它崩溃了。

我已阅读:

到目前为止我已经尝试过:

  • 我已将gcs-connector-hadoop2-latest.jarmy_project.json 放在/etc/hadoop/conf 的主节点和工作节点上
  • 我已在我的主节点和工作节点上将以下内容添加到/etc/hadoop/conf/core-site.xml

    <property>
      <name>google.cloud.auth.service.account.enable</name>
      <value>true</value>
    </property>
    <property>
      <name>my_project.json</name>
      <value>full path to JSON keyfile downloaded for service account</value>
    </property>
    
  • 我尝试运行以下命令:

    sudo gcloud dataproc jobs submit pyspark  spark.py --cluster=${CLUSTER}
    

    sudo gcloud dataproc jobs submit pyspark \
        --jars  /etc/hadoop/conf/gcs-connector-hadoop2-latest.jar \
        spark.py --cluster=${CLUSTER}
    
  • 我不断收到以下错误:

    没有用于方案的文件系统:gs

我不知道下一步该做什么。

【问题讨论】:

    标签: apache-spark google-cloud-platform google-cloud-storage google-cloud-dataproc


    【解决方案1】:
    1. 是的,Google Dataproc 相当于 AWS EMR。

    2. 是的,你 can ssh into the Dataproc master node 使用 gcloud compute ssh ${CLUSTER}-m 命令和 submit Spark jobs manually,但建议使用 Dataproc API 和/或 gcloud 命令到 submit jobs 到 Dataproc 集群。请注意,您可以使用 gcloud 命令从任何具有 gcloud installed 的机器向 Dataproc 集群提交作业,您不需要从 Google Cloud VM 执行此操作,例如Dataproc 主节点。

    3. 要从提交到 Dataproc 集群的作业访问 Google Cloud Storage (GCS),您无需执行任何配置(Dataproc 有 pre-installed GCS connector,并且已经配置为访问 GCS)。

      李>

    您可以使用以下命令在 Dataproc 集群上提交 PySpark 作业(注意,首先您需要将 PySpark 作业文件复制到 GCS 并在提交 Dataproc 作业时使用):

    gsutil cp spark.py gs://<BUCKET>/path/spark.py
    gcloud dataproc jobs submit pyspark --cluster=${CLUSTER} \
        gs://<BUCKET>/path/spark.py
    

    【讨论】:

    • @user1871528 可以分享一下spark.py 脚本吗?您如何在那里访问 GCS?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-16
    • 1970-01-01
    • 2016-07-14
    • 2020-05-14
    • 2019-06-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多