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