google-cloud-platform - GCP Dataproc 并行步骤执行
问题描述
我正在使用来自 YAML 文件的工作流模板在 GCP 上创建 dataproc 集群。创建集群后,所有步骤都开始并行执行,但我希望在所有其他步骤完成执行后执行一些步骤。有没有办法做到这一点?
用于集群创建的示例 YAML
jobs:
- pigJob:
continueOnFailure: true
queryList:
queries:
- sh /ui.sh
stepId: run-pig-ui
- pigJob:
continueOnFailure: true
queryList:
queries:
- sh /hotel.sh
stepId: run-pig-hotel
placement:
managedCluster:
clusterName: cluster-abc
labels:
data: cluster
config:
configBucket: bucket-1
initializationActions:
- executableFile: gs://bucket-1/install_git.sh
executionTimeout: 600s
gceClusterConfig:
zoneUri: asia-south1-a
tags:
- test
masterConfig:
machineTypeUri: n1-standard-8
diskConfig:
bootDiskSizeGb: 50
workerConfig:
machineTypeUri: n1-highcpu-32
numInstances: 2
diskConfig:
bootDiskSizeGb: 100
softwareConfig:
imageVersion: 1.4-ubuntu18
properties:
core:io.compression.codec.lzo.class: com.hadoop.compression.lzo.LzoCodec
core:io.compression.codecs: org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.BZip2Codec,com.hadoop.compression.lzo.LzoCodec,com.hadoop.compression.lzo.LzopCodec
secondaryWorkerConfig:
numInstances: 2
isPreemptible: true
用于创建集群的命令
gcloud dataproc workflow-templates instantiate-from-file --file file_name.yaml
gcloud 版本:261.0.0
解决方案
您可以prerequisiteStepIds
在最终工作流程步骤中使用该列表,以确保它仅在所有先决条件步骤都运行后运行。您可以在OrderedJob 的相应 JSON API 表示中看到预期的结构。
jobs:
- pigJob:
continueOnFailure: true
queryList:
queries:
- sh /ui.sh
stepId: run-pig-ui
- pigJob:
continueOnFailure: true
queryList:
queries:
- sh /hotel.sh
stepId: run-pig-hotel
- pigJob:
continueOnFailure: true
queryList:
queries:
- sh /final.sh
stepId: run-final-step
prerequisiteStepIds:
- run-pig-ui
- run-pig-hotel
...
推荐阅读
- python - Python - 我正在尝试与 asyncio start_server 等待 TCP 流量同时运行主逻辑(游戏服务器)循环
- c# - 创建可合并优先级队列接口结构
- algorithm - 如何找到使用 BST 的孩子总和之间的最大差异?
- r - 在 r 中使用变量的 XTS 内部名称
- twitter-bootstrap - 如何使我的引导子菜单可见
- python - 如何将 Reddit 函数添加到我的 Python Discord Bot?
- algorithm - 如何为 A 和 B 找到 A%B 是非常大的数字(存储在字符串中)
- git - 强制 git 以本地配置的用户身份推送
- python-3.x - 字典中多个子列表的最小值/最大值
- angular - .NET Core Angular 7 服务器端渲染