在Dataproc作业中设置动态属性



以下是我正在努力实现的目标。我想创建一个工作流模板,这样我就可以启动集群、运行作业并删除集群。在作业中,我希望传入可以动态设置的属性。例如,将特性设置为当前日期。

下面是一个简单的例子。我正确地使用了数据函数,但这是在创建时处理的,所以如果我今天设置工作流,它看起来总是2020年12月31日。我知道我可以删除作业,并在每次运行时将其添加回模板,但我希望有一个更简单的方法。

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'`
Dataproc作业不支持通过运行shell命令生成的动态属性。在这种情况下,您可能需要考虑将逻辑作为工作的一部分,即在millard-test.py中动态获取当前日期。

最新更新