导入总览
所有文档
menu
没有找到结果,请重新输入

PALO

导入总览

支持的数据源

Doris 提供多种数据导入方案,可以针对不同的数据源进行选择。

数据源 导入方式
百度对象存储(BOS)、HDFS、AFS 使用 Broker Load 导入数据
本地文件 导入本地数据
百度消息服务(Kafka) 订阅 Kafka 日志
MySQL、Oracle、PostgreSQL 通过外部表同步数据
通过 JDBC 导入数据 使用JDBC同步数据
导入 JSON 格式数据 JSON 格式数据导入说明
MySQL binlog 敬请期待

数据导入总体说明

Doris 的数据导入实现有以下共性特征,这里分别介绍,以帮助大家更好的使用数据导入功能

原子性保证

Doris 的每一个导入作业,不论是使用 Broker Load 进行批量导入,还是使用 INSERT 语句进行单条导入,都是一个完整的事务操作。导入事务可以保证一批次内的数据原子生效,不会出现部分数据写入的情况。

同时,一个导入作业都会有一个 Label。这个 Label 是在一个数据库(Database)下唯一的,用于唯一标识一个导入作业。Label 可以由用户指定,部分导入功能也会由系统自动生成。

Label 是用于保证对应的导入作业,仅能成功导入一次。一个被成功导入的 Label,再次使用时,会被拒绝并报错 Label already used。通过这个机制,可以在 Doris 测做到 At-Most-Once 语义。如果结合上游系统的 At-Least-Once 语义,则可以实现导入数据的 Exactly-Once 语义。

关于原子性保证的最佳实践,可以参阅 导入事务和原子性

同步和异步

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

支持的数据格式

不同的导入方式支持的数据格式略有不同。

导入方式 支持的格式
Broker Load Parquet,ORC,csv,gzip
Stream Load csv, gzip, json
Routine Load csv, json
开始使用导入本地数据