- BigQuery 教程
- BigQuery - 首頁
- BigQuery - 概覽
- BigQuery - 初始設定
- BigQuery 與本地 SQL 引擎
- BigQuery - Google Cloud Console
- BigQuery - Google Cloud 層級結構
- 什麼是 Dremel?
- 什麼是 BigQuery Studio?
- BigQuery - 資料集
- BigQuery - 表格
- BigQuery - 檢視
- BigQuery - 建立表格
- BigQuery - 基本 Schema 設計
- BigQuery - 修改表格
- BigQuery - 複製表格
- 刪除和恢復表格
- BigQuery - 填充表格
- 標準 SQL 與傳統 SQL
- BigQuery - 編寫第一個查詢
- BigQuery - CRUD 操作
- 分割槽和聚類
- BigQuery - 資料型別
- BigQuery - 複雜資料型別
- BigQuery - STRUCT 資料型別
- BigQuery - ARRAY 資料型別
- BigQuery - JSON 資料型別
- BigQuery - 表格元資料
- BigQuery - 使用者自定義函式
- 連線外部資料來源
- 整合計劃任務查詢
- 整合 BigQuery API
- BigQuery - 整合 Airflow
- 整合連線表格
- 整合資料傳輸
- BigQuery - 物化檢視
- BigQuery - 角色和許可權
- BigQuery - 查詢最佳化
- BigQuery - BI 引擎
- 監控使用情況和效能
- BigQuery - 資料倉庫
- 挑戰和最佳實踐
- BigQuery 資源
- BigQuery - 快速指南
- BigQuery - 資源
- BigQuery - 討論
BigQuery - 整合 Airflow
執行一個**Python** 指令碼載入 BigQuery 表格對於單個作業可能很有幫助。但是,當開發人員需要建立多個順序任務時,孤立的解決方案並非最佳選擇。因此,有必要跳出簡單執行的思維。需要進行編排。
BigQuery 可以與多個流行的編排解決方案整合,例如Airflow 和DBT。但是,本教程將重點介紹 Airflow。
有向無環圖 (DAG)
Apache Airflow 允許開發人員建立稱為有向無環圖 (DAG) 的執行塊。每個 DAG 由許多工組成。
每個任務都需要一個運算子。有兩個重要的與 BigQuery 相容的運算子 -
- BigQueryCheck 運算子
- BigQueryExecuteQuery 運算子
BigQueryCheck 運算子
BigQueryCheckOperator 允許開發人員進行上游檢查,以確定資料是否已更新當天。
如果表格的 Schema 中不包含上傳時間戳,則可以查詢元資料(如前所述)。
開發人員可以透過執行此查詢的版本來確定表格上次更新的時間 -
BigQueryExecuteQuery 運算子
要執行依賴於上游資料的**SQL** 指令碼,SQL 開發人員可以使用BigQueryExecuteQuery 運算子建立載入作業。
關於 Airflow 的更深入解釋超出了本教程的範圍,但 GCP 為希望瞭解更多資訊的讀者提供了豐富的文件。
廣告