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 為希望瞭解更多資訊的讀者提供了豐富的文件。

廣告

© . All rights reserved.