ClickHouse dbt adapter 改用 Rust 引擎,進 public beta
ClickHouse Blog · 2026-09-16
dbt 官方原生支援 ClickHouse 的 adapter,這次直接從頭用 dbt 的 Rust engine 重寫,新版本(dbt v2 adapter)改成透過 ADBC driver、走 Apache Arrow 標準跟 ClickHouse 溝通,不再需要另外裝一個 Python package。這個改動由 ClickHouse 在 2026 年 9 月 16 日的官方 blog 中公布,同一篇也提到 ClickHouse 這時候也上架到 dbt platform,兩件事分屬不同的 beta 階段。
原本的問題:v1 adapter 是外掛的 Python package
從 2021 年至今,dbt 與 ClickHouse 的整合靠的是 dbt-clickhouse,一個安裝在 dbt-core 旁邊的獨立 Python package,目前有超過 2,000 個團隊在用它跑 production。問題出在 dbt v1 引擎本身是 Python 寫的,專案一大,parse 階段(讀 model、建 DAG)就會變慢,官方文章提到有些專案光是 compile 就要花上一分鐘。裝法也比較繁瑣:使用者要先裝 dbt-core,再另外裝對應資料庫的 adapter package,兩邊版本要自己對齊。
核心改動:Rust 引擎加 Arrow/ADBC,adapter 內建進 dbt 執行檔
dbt 本身近期把核心引擎換成 Rust 重寫的版本(dbt Fusion),dbt v2 adapter 就是建立在這個新引擎上的產物。官方數字是 parse 時間比 dbt v1 快到 30 倍,原本要一分鐘的 compile 現在幾秒鐘內完成,編輯器裡的回饋循環因此快到足以維持開發手感。相容性上,v2 adapter 對照 dbt v1 的整合測試套件,通過超過 81% 的完整測試,針對 ClickHouse Cloud 的部分則通過 92%,官方說剩下的落差會陸續補齊,並提供了 v1、v2 兩版功能的對照表。
連線架構也跟著換了一套:v1 adapter 是裝在 dbt-core 旁邊的獨立套件,v2 則直接寫進 dbt 的程式碼庫,透過 ADBC driver 用 Apache Arrow 標準跟資料庫對話。安裝方式也因此簡化成單一執行檔:不用再另外裝 adapter package,ADBC driver 會在第一次跑的時候自動下載,既有的 profiles.yml 設定可以直接沿用,差別只在換了一個 dbt binary。
| dbt v1 adapter | dbt v2 adapter | |
|---|---|---|
| 狀態 | GA,自 2021 年起維護 | Public beta,2026-09-16 起 |
| Parse 速度 | 基準值 | 最高快 30 倍 |
| 安裝方式 | pip install dbt-core dbt-clickhouse | python -m pip install --pre dbt,adapter 內建 |
| 連線架構 | 獨立 Python package | ADBC driver + Apache Arrow,內建於 dbt binary |
| 測試通過率 | — | 完整套件 81%+、ClickHouse Cloud 相關 92% |
影響範圍:還不能上 production,怎麼試用
用 dbt 加 ClickHouse 的資料工程團隊如果想先試 dbt v2 adapter,指令是 python -m pip install --pre dbt,接著照舊跑 dbt debug、dbt build,ADBC driver 會在第一次執行時自動抓下來。官方明講這個 adapter 還不建議用在 production workload,目前只建議放在開發或 staging 環境,跑在 ClickHouse Cloud 或單機自架的 ClickHouse 上,行為跟 v1 不一樣的地方可以回報到官方 repository。如果不想拿自己的專案冒險,官方也提供了 jaffle-shop-clickhouse 這個 fork 自 dbt 範例專案的 sandbox 可以先跑跑看。
另外公布的 dbt platform 整合則是更早期的 private beta,讓 ClickHouse 可以當成 Studio、排程 job、Catalog 裡的一個連線來源,同一套 model 可以同時跑在自架 ClickHouse、ClickHouse Cloud 或 BYOC(自帶雲端帳號代管)環境裡。這部分需要先透過表單申請存取,且沿用跟本機 dbt v2 adapter 一樣的 beta 限制,還沒有對外開放自助啟用。
原始來源:ClickHouse Blog - ClickHouse is now available on the dbt platform