本文为您介绍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语义。
同步及异步导入
导入方式分为同步和异步。对于同步导入方式,返回结果即表示导入成功还是失败。而对于异步导入方式,返回成功仅代表作业提交成功,不代表数据导入成功,需要使用对应的命令查看导入作业的运行状态。