【问题标题】:使用多个 jar 创建 dataproc 集群
【发布时间】:2022-01-05 09:17:11
【问题描述】:

我正在尝试创建一个将 dataproc 连接到 pubsub 的 dataproc 集群。我需要在 spark.jars 标志中添加多个集群创建 jars

gcloud dataproc clusters create cluster-2c76 --region us-central1 --zone us-central1-f --master-machine-type n1-standard-4 \
--master-boot-disk-size 500 \
--num-workers 2 \
--worker-machine-type n1-standard-4 \
--worker-boot-disk-size 500 \
--image-version 1.4-debian10 \
--properties spark:spark.jars=gs://bucket/jars/spark-streaming-pubsub_2.11-2.4.0.jar,gs://bucket/jars/google-oauth-client-1.31.0.jar,gs://bucket/jars/google-cloud-datastore-2.2.0.jar,gs://bucket/jars/pubsublite-spark-sql-streaming-0.2.0.jar spark:spark.driver.memory=3000m \
--initialization-actions gs://goog-dataproc-initialization-actions-us-central1/connectors/connectors.sh \
--metadata spark-bigquery-connector-version=0.21.0 \
--scopes=pubsub,datastore

我得到这个错误

ERROR: (gcloud.dataproc.clusters.create) argument --properties: Bad syntax for dict arg: [gs://gregalr/jars/spark-streaming-pubsub_2.11-2.3.4.jar]. Please see `gcloud topic flags-file` or `gcloud topic escaping` for information on providing list or dictionary flag values with special characters.

This looked promising, but fails

如果有更好的方式将dataproc连接到pubsub,请分享

【问题讨论】:

    标签: google-cloud-platform google-cloud-pubsub google-cloud-dataproc


    【解决方案1】:

    您链接的答案是正确的方法:How can I include additional jars when starting a Google DataProc cluster to use with Jupyter notebooks?

    如果您还使用转义语法发布您尝试过的命令以及由此产生的错误消息,那么其他人可以更轻松地验证您做错了什么。除了您的 jar 列表spark:spark.driver.memory=3000m 之外,您似乎还指定了一个额外的 spark 属性,并试图将其与您的 jar 标志进行空格分隔,这是不允许的。

    根据链接结果,您需要使用新分配的分隔符来分隔第二个 spark 属性:

    --properties=^#^spark:spark.jars.packages=artifact1,artifact2,artifact3#spark:spark.driver.memory=3000m
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-26
      • 1970-01-01
      相关资源
      最近更新 更多