BigQuery - 集成 Airflow
运行 Python 脚本来加载 BigQuery 表对单个作业很有帮助。但是,当开发人员需要创建多个连续任务时,孤立的解决方案并不是最佳选择。因此,有必要超越简单的执行。编排是必需的。
BigQuery 可以与几种流行的编排解决方案集成,如 Airflow 和 DBT。但是,本教程将重点介绍 Airflow。
有向丙烯酸图 (DAG)
Apache Airflow 允许开发人员创建称为有向丙烯酸图 (DAG) 的 执行块。每个 DAG 都由许多任务组成。
每个任务都需要一个运算符。有两个重要的 BigQuery 兼容运算符 −
- BigQueryCheck 运算符
- BigQueryExecuteQuery 运算符
BigQueryCheck 运算符
BigQueryCheckOperator 允许开发人员进行上游检查,以确定当天的数据是否已更新。
如果表的架构中没有包含上传时间戳,则可以查询元数据(如前所述)。
开发人员可以通过运行此查询的某个版本来确定表的最后更新时间 −

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

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