【问题标题】:How to get gcloud dataproc create flag in a spark job?如何在火花作业中获取 gcloud dataproc 创建标志?
【发布时间】:2021-04-27 04:00:21
【问题描述】:

我想获取在 spark 作业中创建 dataproc 集群时使用的标志。

例如,我使用以下命令行创建了集群:

gcloud dataproc clusters create cluster-name \
--region=region \
--bucket=bucket-name \
--temp-bucket=bucket-name \
other args ...

在我的 scala spark 工作中,我想获取存储桶名称和其他参数如何做到这一点,我知道如果我想获得工作的参数,我必须这样做:

val sc = sparkSession.sparkContext
val conf_context=sc.getConf.getAll
conf_context.foreach(println)

有什么帮助吗?

谢谢

【问题讨论】:

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


    【解决方案1】:

    您可以使用gcloud dataproc clusters describe shell 命令获取有关集群的详细信息:

    gcloud dataproc clusters describe $clusterName --region $clusterRegion
    

    要从此命令中获取存储桶名称,您可以使用grep

    BUCKET_NAME=$(gcloud dataproc clusters describe $clusterName \
    --region $clusterRegion \
    | grep 'configBucket:' \
    | sed 's/.* //')
    

    您应该能够从 Scala 执行此操作,请参阅此post 了解如何操作。

    【讨论】:

      【解决方案2】:

      Dataproc 还会向 GCE 实例元数据发布一些属性,包括存储桶名称。您还可以指定自己的元数据。见https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/metadata

      这些将通过元数据服务器提供给您。例如,如果要读取存储桶名称,可以运行

      curl -s -H Metadata-Flavor:Google http://metadata.google.internal/computeMetadata/v1/instance/attributes/dataproc-bucket

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-11
        • 1970-01-01
        • 2019-06-02
        • 2017-06-01
        • 1970-01-01
        • 2019-10-25
        相关资源
        最近更新 更多