本文為您介紹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語義。

同步及異步導入

導入方式分為同步和異步。對于同步導入方式,返回結果即表示導入成功還是失敗。而對于異步導入方式,返回成功僅代表作業提交成功,不代表數據導入成功,需要使用對應的命令查看導入作業的運行狀態。