gui*_*ira 6 google-cloud-platform google-cloud-composer google-cloud-scheduler
我目前正在学习 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
对此的任何见解将不胜感激。谢谢 !
小智 11
您的假设是正确的,Cloud Composer 是一个 Apache Airflow 托管服务,它在编排相互依赖的管道时表现良好,而 Cloud Scheduler 只是一个托管 Cron 服务。
我不知道你从哪里得到这些问题和答案,但我向你保证(我上个月刚刚获得了 GCP 数据工程师认证),正确的答案是 Cloud Composer 对每个人来说,忽略这个假设正确的回答并继续。
Cloud Scheduler 本质上是 Cron 即服务。您只需输入计划和端点(Pub/Sub 主题、HTTP、App Engine 路由)。Cloud Scheduler 内置了重试处理功能,因此您可以设置固定的次数,并且对请求没有时间限制。功能比 Cloud Composer 简单得多。
Cloud Composer 由 Apache Airflow 托管,“帮助您创建、安排、监控和管理工作流程。Cloud Composer 自动化可帮助您快速创建 Airflow 环境并使用 Airflow 原生工具,例如强大的 Airflow Web 界面和命令行工具,这样您就可以专注于您的工作流程而不是基础设施。”( https://cloud.google.com/composer/docs/ ) Airflow 旨在提供所有所需工具的数据管道。
| 归档时间: |
|
| 查看次数: |
4581 次 |
| 最近记录: |