在上一篇文章中,我們介紹了 BigQuery Operator 的基本概念和資料筆數檢查機制。本篇將介紹另一個重要的檢查項目:孤兒物件。這個項目對於維護數據倉庫的整潔性和可靠性非常重要。
孤兒物件指的是那些存在於 BigQuery 中,但沒有對應 dbt model 的表格或函數。這種情況通常源於以下兩種情況:
檢查孤兒物件的重要性體現在以下幾個方面:
使用 INFORMATION_SCHEMA.TABLES 進行檢查:
SELECT
table_type,
table_name
FROM
`{dataset}`.INFORMATION_SCHEMA.TABLES
WHERE
table_name NOT IN ({dbt_models})
使用 INFORMATION_SCHEMA.ROUTINES 進行檢查:
SELECT
routine_name,
routine_type
FROM
`{dataset}`.INFORMATION_SCHEMA.ROUTINES
WHERE
routine_name NOT IN ({dbt_models})
在每次 PR 時,透過以上的檢查檢索孤兒物件,如果有發現會透過檢查報告提醒開發者要刪除或將手動創建表格上版,以避免上述所提到可能發生的問題
以上就是 bigquery_operator 的完整介紹,pr-check 套件的主要核心已經都介紹完了,接下來會講解整個 dbt CI/CD pipeline 的程式碼。