【问题标题】:Give custom job_id to Google Dataproc cluster for running pig/hive/spark jobs为 Google Dataproc 集群提供自定义 job_id 以运行 pig/hive/spark 作业
【发布时间】:2017-10-06 09:27:02
【问题描述】:

是否有任何标志可用于为 dataproc 作业提供自定义 job_id。我正在使用这个命令来运行猪作业。

gcloud dataproc 作业提交 pig --cluster my_cluster --file my_queries.pig

我使用类似的命令来提交 pyspark/hive 作业。

此命令会自行创建一个 job_id,以后很难跟踪它们。

【问题讨论】:

    标签: google-cloud-dataproc


    【解决方案1】:

    阅读 gcloud 代码可以看到,名为 id 的 args 被用作作业名

    https://github.com/google-cloud-sdk/google-cloud-sdk/blob/master/lib/googlecloudsdk/command_lib/dataproc/jobs/submitter.py#L56

    因此,您只需在 gcloud 命令中添加 --id

    gcloud dataproc jobs submit spark --id this-is-my-job-name --cluster my-cluster --class com.myClass.Main --jars gs://my.jar

    【讨论】:

      【解决方案2】:

      虽然可以在使用底层 REST API 时提供您自己生成的 jobid,但目前没有任何方法可以在使用 gcloud dataproc jobs submit 提交时指定您自己的 jobid;将来可能会添加此功能。也就是说,通常当人们想要指定职位 ID 时,他们还希望能够使用更复杂的匹配表达式列出,或者可能在不同的时间点通过不同类型的表达式列出多个类别的职位。

      因此,您可能要考虑使用dataproc labels;标签专门用于这种用例,并针对高效查找进行了优化。例如:

      gcloud dataproc jobs submit pig --labels jobtype=mylogspipeline,date=20170508 ...
      gcloud dataproc jobs submit pig --labels jobtype=mylogspipeline,date=20170509 ...
      gcloud dataproc jobs submit pig --labels jobtype=mlpipeline,date=20170509 ...
      
      gcloud dataproc jobs list --filter "labels.jobtype=mylogspipeline"
      gcloud dataproc jobs list --filter "labels.date=20170509"
      gcloud dataproc jobs list --filter "labels.date=20170509 AND labels.jobtype=mlpipeline"
      

      【讨论】:

        猜你喜欢
        • 2017-10-30
        • 1970-01-01
        • 2018-09-15
        • 2018-02-22
        • 2016-08-15
        • 1970-01-01
        • 1970-01-01
        • 2017-10-06
        • 2016-01-26
        相关资源
        最近更新 更多