Cloud Composer 与 Cloud Scheduler
Cloud Composer vs Cloud Scheduler
我目前正在准备 GCP 数据工程师考试,一直在努力理解何时使用 Cloud Scheduler 以及何时使用 Cloud Composer。
通过阅读文档,我的印象是当作业之间存在相互依赖性时,应该使用 Cloud Composer,例如我们需要一个作业的输出在第一个作业完成时启动另一个作业,并使用来自第一个作业的依赖项。然后,您可以根据需要灵活地链接其中的多个 "workflows",并提供在失败时重新启动作业、运行 批处理作业、shell 脚本、链式查询等的机会.
对于 Cloud Scheduler,它在可以执行的任务方面具有非常相似的功能,但是,它更多地用于常规作业,您可以定期执行,并且在具有相互依赖性时不一定使用在工作之间或当您需要等待其他工作后再开始另一份工作时。因此,似乎更适合在 "simpler" 任务中使用。
这些想法是在尝试回答我发现的一些考试问题后产生的。然而,我对我发现的 "correct answers" 感到惊讶,并希望有人可以澄清这些答案是否正确,以及我是否理解何时使用一个而不是另一个。
以下是关于这个主题让我感到困惑的示例问题:
问题一
您正在实施几个必须按计划执行的批处理作业。这些作业有许多相互依赖的步骤,必须按特定顺序执行。部分作业涉及执行 shell 脚本、运行ning Hadoop 作业和 运行ning BigQuery 中的查询。这些作业预计会持续 运行 数分钟至数小时。如果步骤失败,则必须重试固定次数。
您应该使用哪种服务来管理这些作业的执行?
一个。云调度器
乙。云数据流
C。云函数
D.云作曲家
正确答案:A
问题二
您想在 Google 云上自动执行多步数据管道 运行ning。流水线包括 Cloud Dataproc 和 Cloud Dataflow 作业,它们彼此具有多个依赖关系。您希望尽可能使用托管服务,并且管道每天都会 运行。
您应该使用哪个工具?
一个。计划
乙。云作曲家
C。云调度程序
D. Cloud Dataproc 上的工作流模板
正确答案:D
问题3
贵公司有一个混合云计划。您有一个复杂的数据管道,它在云提供商服务之间移动数据并利用来自每个云提供商的服务。
您应该使用哪种云原生服务来编排整个管道?
一个。云数据流
乙。云作曲家
C。云数据准备
D.云数据处理
正确答案:D
任何对此的见解将不胜感激。谢谢!
您的假设是正确的,Cloud Composer 是一个 Apache Airflow 托管服务,它在编排相互依赖的管道时表现良好,而 Cloud Scheduler 只是一个托管 Cron 服务。
我不知道你从哪里得到这些问题和答案,但我向你保证(我上个月刚刚获得 GCP 数据工程师认证),正确答案将是每个问题和答案的 Cloud Composer,忽略这个假定的正确答案并继续前进。
Cloud Scheduler 本质上是 Cron 即服务。您只需输入时间表和端点(Pub/Sub 主题、HTTP、App Engine 路由)。 Cloud Scheduler 内置了重试处理,因此您可以设置固定次数,并且对请求没有时间限制。功能比 Cloud Composer 简单得多。
Cloud Composer 由 "helps you create, schedule, monitor and manage workflows. Cloud Composer automation helps you create Airflow environments quickly and use Airflow-native tools, such as the powerful Airflow web interface and command line tools, so you can focus on your workflows and not your infrastructure."(https://cloud.google.com/composer/docs/) 的 Apache Airflow 管理
Airflow 针对具有所有必需工具的数据管道。
我目前正在准备 GCP 数据工程师考试,一直在努力理解何时使用 Cloud Scheduler 以及何时使用 Cloud Composer。
通过阅读文档,我的印象是当作业之间存在相互依赖性时,应该使用 Cloud Composer,例如我们需要一个作业的输出在第一个作业完成时启动另一个作业,并使用来自第一个作业的依赖项。然后,您可以根据需要灵活地链接其中的多个 "workflows",并提供在失败时重新启动作业、运行 批处理作业、shell 脚本、链式查询等的机会.
对于 Cloud Scheduler,它在可以执行的任务方面具有非常相似的功能,但是,它更多地用于常规作业,您可以定期执行,并且在具有相互依赖性时不一定使用在工作之间或当您需要等待其他工作后再开始另一份工作时。因此,似乎更适合在 "simpler" 任务中使用。
这些想法是在尝试回答我发现的一些考试问题后产生的。然而,我对我发现的 "correct answers" 感到惊讶,并希望有人可以澄清这些答案是否正确,以及我是否理解何时使用一个而不是另一个。
以下是关于这个主题让我感到困惑的示例问题:
问题一
您正在实施几个必须按计划执行的批处理作业。这些作业有许多相互依赖的步骤,必须按特定顺序执行。部分作业涉及执行 shell 脚本、运行ning Hadoop 作业和 运行ning BigQuery 中的查询。这些作业预计会持续 运行 数分钟至数小时。如果步骤失败,则必须重试固定次数。 您应该使用哪种服务来管理这些作业的执行?
一个。云调度器
乙。云数据流
C。云函数
D.云作曲家
正确答案:A
问题二
您想在 Google 云上自动执行多步数据管道 运行ning。流水线包括 Cloud Dataproc 和 Cloud Dataflow 作业,它们彼此具有多个依赖关系。您希望尽可能使用托管服务,并且管道每天都会 运行。 您应该使用哪个工具?
一个。计划
乙。云作曲家
C。云调度程序
D. Cloud Dataproc 上的工作流模板
正确答案:D
问题3
贵公司有一个混合云计划。您有一个复杂的数据管道,它在云提供商服务之间移动数据并利用来自每个云提供商的服务。 您应该使用哪种云原生服务来编排整个管道?
一个。云数据流
乙。云作曲家
C。云数据准备
D.云数据处理
正确答案:D
任何对此的见解将不胜感激。谢谢!
您的假设是正确的,Cloud Composer 是一个 Apache Airflow 托管服务,它在编排相互依赖的管道时表现良好,而 Cloud Scheduler 只是一个托管 Cron 服务。
我不知道你从哪里得到这些问题和答案,但我向你保证(我上个月刚刚获得 GCP 数据工程师认证),正确答案将是每个问题和答案的 Cloud Composer,忽略这个假定的正确答案并继续前进。
Cloud Scheduler 本质上是 Cron 即服务。您只需输入时间表和端点(Pub/Sub 主题、HTTP、App Engine 路由)。 Cloud Scheduler 内置了重试处理,因此您可以设置固定次数,并且对请求没有时间限制。功能比 Cloud Composer 简单得多。
Cloud Composer 由 "helps you create, schedule, monitor and manage workflows. Cloud Composer automation helps you create Airflow environments quickly and use Airflow-native tools, such as the powerful Airflow web interface and command line tools, so you can focus on your workflows and not your infrastructure."(https://cloud.google.com/composer/docs/) 的 Apache Airflow 管理 Airflow 针对具有所有必需工具的数据管道。