如何解决在 Dataproc 作业中设置动态属性
这就是我想要完成的。我想创建一个工作流模板,以便我可以启动集群、运行作业和删除集群。在工作中,我想传入可以动态设置的属性。例如,将属性设置为当前日期。
下面是一个简单的例子。我正确使用了数据函数,但它是在创建时处理的,所以如果我今天设置工作流,它看起来总是 12/31/2020。我知道我可以删除作业并将其添加回每次运行的模板,但我希望有一种更简单的方法。
gcloud dataproc workflow-templates create workflow-mk-test --region us-east1 --project data-engineering-doz4
gcloud dataproc workflow-templates set-managed-cluster workflow-mk-test \
--cluster-name=cluster-mk-test \
--project data-engineering-doz4 \
--image-version=1.3-ubuntu18 \
--bucket data-engineering-dev \
--region us-east1 \
--subnet ml-data-engineering-east1 \
--no-address \
--zone us-east1-b \
--master-machine-type n1-standard-4 \
--master-boot-disk-size 15 \
--num-workers 2 \
--worker-machine-type n1-standard-4 \
--worker-boot-disk-size 15
gcloud dataproc workflow-templates add-job pyspark gs://data-engineering-dev/jobs/millard-test.py \
--workflow-template=workflow-mk-test \
--step-id=test-job \
--region=us-east1 \
--project=data-engineering-doz4 \
-- date `date -v -1d '+%Y/%m/%d'` \
--output-location s3n://missionlane-data-engineering-dev-us-east-1/delete-me/`date -v -1d '+%Y/%m/%d'`
解决方法
通过运行 shell 命令生成的动态属性不是 Dataproc 作业支持的功能。在这种情况下,您可能需要考虑将逻辑作为工作的一部分,即在 millard-test.py
中动态获取当前日期。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。