本文為您介紹Doris資料匯入支援的資料來源、支援的資料格式以及特性。
支援的資料來源
Doris提供多種資料匯入方案,可以針對不同的資料來源選擇不同的資料匯入方式。
支援的資料格式
不同匯入方式支援的資料格式略有不同。
匯入方式 | 支援的格式 |
Broker Load | Parquet、ORC、CSV、GZIP |
Stream Load | CSV、GZIP、JSON |
Routine Load | CSV、JSON |
匯入說明
Apache Doris的資料匯入有以下共性特徵。
匯入的原子性保證
Doris的每一個匯入作業,不論是使用Broker Load進行大量匯入,還是使用INSERT語句進行單條匯入,都是一個完整的事務操作。匯入事務可以保證一批次內的資料原子生效,不會出現部分資料寫入的情況。
每個匯入作業都會有一個Label。Label是在一個資料庫(Database)下唯一的,用於唯一標識一個匯入作業。Label可由使用者指定或系統自動產生。
Label用於保證對應的匯入作業,僅能成功匯入一次。一個被成功匯入的Label,再次使用時,會被拒絕並報錯Label already used。通過該機制,可以在Doris側做到At-Most-Once語義。如果結合上遊系統的At-Least-Once語義,則可以實現匯入資料的Exactly-Once語義。
同步及非同步匯入
匯入方式分為同步和非同步。對於同步匯入方式,返回結果即表示匯入成功還是失敗。而對於非同步匯入方式,返回成功僅代表作業提交成功,不代表資料匯入成功,需要使用對應的命令查看匯入作業的運行狀態。