我目前正在学习 GCP 数据工程师考试,并且一直在努力理解何时使用 Cloud Scheduler 以及何时使用 Cloud Composer。
通过阅读文档,我的印象是当作业之间存在相互依赖关系时应该使用 Cloud Composer,例如,我们需要一个作业的输出在第一次完成时启动另一个作业,并使用来自第一个作业的依赖关系。然后,您可以根据需要灵活地链接任意数量的这些“工作流程”,并提供在失败时重新启动作业、运行批处理作业、shell 脚本、链接查询等的机会。
对于 Cloud Scheduler,它在可以执行的任务方面具有非常相似的功能,但是,它更多地用于常规作业,您可以定期执行,而不一定在作业之间存在相互依赖关系或何时使用在开始另一个工作之前,您需要等待其他工作。因此,似乎更适合用于“更简单”的任务。
这些想法是在尝试回答我发现的一些考试问题后产生的。但是,我对找到的“正确答案”感到惊讶,并希望有人能澄清这些答案是否正确,以及我是否了解何时使用一个而不是另一个。
以下是让我对此主题感到困惑的示例问题:
问题 1
您正在实施几个必须按计划执行的批处理作业。这些作业有许多相互依赖的步骤,必须按特定顺序执行。部分作业涉及执行 shell 脚本、运行 Hadoop 作业以及在 BigQuery 中运行查询。这些作业预计将运行几分钟到几个小时。如果这些步骤失败,则必须重试固定次数。您应该使用哪个服务来管理这些作业的执行?
A. 云调度器
B. 云数据流
C. 云功能
D. 云作曲家
正确答案:A
问题2
您希望自动执行在 Google Cloud 上运行的多步骤数据管道。该管道包括相互依赖的 Cloud Dataproc 和 Cloud Dataflow 作业。您希望尽可能使用托管服务,并且管道将每天运行。你应该使用哪个工具?
A.cron
B. 云作曲家
C. 云调度器
D. Cloud Dataproc 上的工作流模板
正确答案:D
问题 3
贵公司有一个混合云计划。您有一个复杂的数据管道,可以在云提供商服务之间移动数据并利用每个云提供商的服务。您应该使用哪种云原生服务来编排整个管道?
A. 云数据流
B. 云作曲家
C. 云数据准备
D. 云数据处理
正确答案:D
对此的任何见解将不胜感激。谢谢 !