BigQuery - 集成 Airflow



运行一个**Python** 脚本加载 BigQuery 表格对于单个作业可能很有帮助。但是,当开发人员需要创建多个顺序任务时,孤立的解决方案并非最佳选择。因此,有必要跳出简单执行的思维。需要进行编排。

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

有向无环图 (DAG)

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

每个任务都需要一个操作符。有两个重要的与 BigQuery 兼容的操作符 -

  • BigQueryCheck 操作符
  • BigQueryExecuteQuery 操作符

BigQueryCheck 操作符

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

如果表格的 Schema 中不包含上传时间戳,则可以查询元数据(如前所述)。

开发人员可以通过运行此查询的版本来确定表格上次更新的时间 -

BigQueryCheck Operator

BigQueryExecuteQuery 操作符

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

BigQueryExecuteQuery Operator

关于 Airflow 的更深入解释超出了本教程的范围,但 GCP 为希望了解更多信息的读者提供了丰富的文档。

广告