Cloud Composer 概览

Cloud Composer 1 | Cloud Composer 2

Cloud Composer 是一项全代管式工作流编排服务,可帮助您创建、安排、监控和管理跨越多个云平台和本地数据中心的工作流。

Cloud Composer 在常用的 Apache Airflow 开源项目的基础上构建而成,支持使用 Python 编程语言进行操作。

通过使用 Cloud Composer(而不是 Apache Airflow 的本地实例),您可以从 Airflow 的强大功能中获益,而不会产生安装或管理开销。借助 Cloud Composer,您可以快速创建 Airflow 环境,并使用 Airflow 原生工具(例如功能强大的 Airflow 网页界面和命令行工具),从而全力专注于工作流,而无需管理基础架构。

工作流、DAG 和任务

在数据分析中,工作流表示用于提取、转换、分析或利用数据的一系列任务。在 Airflow 中,工作流是使用 DAG(即“有向无环图”)创建的。

DAG 与任务之间的关系
图 1. DAG 与任务之间的关系

DAG 是要安排和运行的任务的集合,任务的组织方式反映了它们的关系和依赖项。DAG 是使用 Python 脚本中创建的,脚本使用代码定义 DAG 结构(任务及其依赖项)。

DAG 中的每个任务可以表示几乎任何事物,例如,一个任务可以执行以下任何功能:

  • 准备数据以进行提取
  • 监控 API
  • 发送电子邮件
  • 运行流水线

DAG 不应该关注每个组成任务的功能,其用途是确保每项任务在正确的时间、以正确的顺序执行,或处理的是正确的问题。

如需详细了解 DAG 和任务,请参阅 Apache Airflow 文档

Cloud Composer 环境

如需运行工作流,首先需要创建一个环境。Airflow 依赖于许多微服务来运行,因此 Cloud Composer 会预配 Google Cloud 组件来运行工作流。这些组件统称为 Cloud Composer 环境

环境是以 Google Kubernetes Engine 为基础的独立 Airflow 部署。它们使用 Airflow 内置的连接器与其他 Google Cloud 服务协同工作。您可以在单个 Google Cloud 项目中创建一个或多个环境。您可以在任何受支持的区域中创建 Cloud Composer 环境。

如需深入了解环境的组成部分,请参阅环境架构

Cloud Composer 使用哪个版本的 Apache Airflow?

Cloud Composer 支持 Airflow 1 和 Airflow 2。

Cloud Composer 环境基于 Cloud Composer 映像。创建环境时,您可以选择具有特定 Airflow 版本的映像。

您可以控制环境的 Apache Airflow 版本。您可以决定将您的环境升级到较新版本的 Cloud Composer 映像。每个 Cloud Composer 版本都支持多个 Apache Airflow 版本。

我可以使用 Airflow 原生界面和 CLI 吗?

您可以访问环境的 Apache Airflow 网页界面。您的每种环境都有自己的 Airflow 界面。如需详细了解如何访问 Airflow 界面,请参阅 Airflow 网页界面

如需在您的环境中运行 Airflow CLI 命令,请使用 gcloud 命令。如需详细了解如何在 Cloud Composer 环境中运行 Airflow CLI 命令,请参阅 Airflow 命令行界面

我可以将自己的数据库用作 Airflow 元数据数据库吗?

Cloud Composer 使用适用于 Airflow 元数据数据库的代管式数据库服务。无法将用户提供的数据库用作 Airflow 元数据数据库。

我可以将自己的集群用作 Cloud Composer 集群吗?

Cloud Composer 使用 Google Kubernetes Engine 服务来创建、管理和删除运行 Airflow 组件的环境集群。这些集群由 Cloud Composer 完全管理。

无法基于自行管理的 Google Kubernetes Engine 集群构建 Cloud Composer 环境。

我可以使用我自己的 Container Registry 吗?

Cloud Composer 使用 Artifact Registry 服务管理 Cloud Composer 环境使用的容器映像存储区。 而不能将其替换为用户提供的 Container Registry。

Cloud Composer 环境是区域性的还是区域性的?

Cloud Composer 1 环境是区域性的。

Cloud Composer 2 环境具有区域性 Airflow 元数据数据库以及区域性 Airflow 调度和执行层。Airflow 调度器、工作器和 Web 服务器在 Airflow 执行层中运行。

后续步骤