本文为您介绍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语义。

同步及异步导入

导入方式分为同步和异步。对于同步导入方式,返回结果即表示导入成功还是失败。而对于异步导入方式,返回成功仅代表作业提交成功,不代表数据导入成功,需要使用对应的命令查看导入作业的运行状态。