BigQuery - 集成 Airflow

运行 Python 脚本来加载 BigQuery 表对单个作业很有帮助。但是,当开发人员需要创建多个连续任务时,孤立的解决方案并不是最佳选择。因此,有必要超越简单的执行。编排是必需的。

BigQuery 可以与几种流行的编排解决方案集成,如 AirflowDBT。但是,本教程将重点介绍 Airflow。

有向丙烯酸图 (DAG)

Apache Airflow 允许开发人员创建称为有向丙烯酸图 (DAG) 的 执行块每个 DAG 都由许多任务组成

每个任务都需要一个运算符。有两个重要的 BigQuery 兼容运算符 −

  • BigQueryCheck 运算符
  • BigQueryExecuteQuery 运算符

BigQueryCheck 运算符

BigQueryCheckOperator 允许开发人员进行上游检查,以确定当天的数据是否已更新。

如果表的架构中没有包含上传时间戳,则可以查询元数据(如前所述)。

开发人员可以通过运行此查询的某个版本来确定表的最后更新时间 −

BigQueryCheck 运算符

BigQueryExecuteQuery 运算符

要执行SQL 脚本依赖于上游数据,SQL 开发人员可以使用 BigQueryExecuteQuery 运算符 创建加载作业。

BigQueryExecuteQuery Operator

对 Airflow 的更深入解释超出了本教程的范围,但 GCP 为那些想要了解更多信息的人提供了大量文档。