每位資料工程師在 Airbyte/Fivetran 與 dbt 之間手動填補的缺口,每次都要重來一遍
業務副總裁說:「我需要在週五之前在 Looker 看到 HubSpot 的資料。」初級資料工程師啟用了 Airbyte 的 HubSpot 連接器。它同步了 47 個資料流到 BigQuery,建立了如下的資料表:
raw_hubspot.deals raw_hubspot.deals_properties_hs_deal_amount raw_hubspot.deals_associations_company_ids raw_hubspot.contacts raw_hubspot.contacts_properties_hs_email ... (另外 42 張資料表)
接著資料工程師需要將這些資料表轉換為乾淨的 dbt 暫存模型,這包括:
deals_properties_hs_deal_amount 重新命名為 deal_amountSUM(amount) 在字串上會失敗)這需要 4 到 8 小時的手動作業。每次都要重來。每新增一個資料來源都一樣。
這是唯一一個使用工具後嚴重程度從 9 降至 7 的情境。在其他所有情境(結構漂移、效能問題、遷移)中,嚴重程度無論使用何種工具都維持在 8 到 9 之間。這表示此問題確實可以透過自動化來解決。
-- 手動作業:每個來源 4-8 小時
-- 步驟一:找出存在哪些資料表
SELECT table_name FROM
information_schema.tables
WHERE dataset_id = 'raw_hubspot';
-- (回傳 47 張資料表,大多不明用途)
-- 步驟二:逐一檢查每張資料表的結構
-- 步驟三:猜測哪些欄位重要
-- 步驟四:手動撰寫暫存模型
SELECT
id AS deal_id,
-- 等等,欄位名稱是 'amount' 還是
-- 'properties_hs_deal_amount'?
-- 而且它是字串型別??
CAST(properties_hs_deal_amount
AS NUMERIC) AS deal_amount,
-- 怎麼取得負責人姓名...?
properties_hubspot_owner_id
AS owner_id -- 顯示為 "12345"
FROM raw_hubspot.deals
-- 30 秒內自動生成
-- 來源:raw_hubspot.deals
-- 已偵測相關資料流:47 中的 5 個
SELECT
id AS deal_id,
CAST(properties_hs_deal_amount
AS NUMERIC) AS deal_amount,
properties_dealstage AS deal_stage,
properties_closedate AS closed_at,
o.owner_name,
a.company_id
FROM raw_hubspot.deals d
LEFT JOIN raw_hubspot.owners o
ON d.properties_hubspot_owner_id
= o.owner_id
LEFT JOIN raw_hubspot
.deals_associations_company_ids a
ON d.id = a.deal_id
-- schema.yml 同步生成,包含:
-- 欄位描述
-- deal_id 的 not_null 測試
-- deal_stage 的 accepted_values 測試
-- deal_amount 的正值測試
Airbyte 的職責終止於「資料已落地至倉儲」。它不知道 dbt 需要什麼。
dbt 的職責從「這是我的來源資料表」開始。它不知道 Airbyte 建立了什麼。
兩者之間的缺口——理解原始結構、清理命名、修正型別、新增關聯、生成測試——完全依賴人工。Fivetran 也是如此。
| 現有工具 | 功能 | 不涵蓋的範圍 |
|---|---|---|
| Airbyte | 將資料同步至倉儲 | 不生成 dbt 模型 |
| Fivetran dbt packages | 針對部分來源的預建模型 | 僅涵蓋約 30 個來源;不處理自訂屬性 |
| dbt codegen | 從來源生成基礎模型 | 無智慧重新命名、無型別偵測、無關聯推斷 |
| 原始資料到暫存層橋接器(Source-to-Staging Bridge) | 讀取原始結構與樣本資料 → 生成完整暫存模型,包含智慧命名、型別轉換、關聯推斷與測試 |
在 BigQuery/Snowflake 落地結構中偵測到新的原始資料表(透過 information_schema 輪詢或事件觸發)。
deals_properties_hs_deal_amount → deal_amount| 方案 | 價格 | 功能 |
|---|---|---|
| 免費(Agent Skill) | $0 | 透過 CLI 隨需生成暫存模型 |
| 專業版(Pro) | $49/月 | 持續監控新資料表 + 自動建立 PR |
| 團隊版(Team) | $199/月 | 多來源支援、命名慣例強制執行、成本估算 |
| 企業版(Enterprise) | $499/月 | 自訂連接器、個資偵測(PII detection)、合規模板 |