Doris是一款基于大规模并行处理技术的分布式 OLAP库,由百度在 2017 年开源,2018 年 8 月进入 Apache 孵化器。
本文简单介绍Doris
的数据导入方式.
数据导入方式
Doris有4种方式导入数据
其中最方便的是 Insert导入
和Stream Load
. 刚接触Doris
建议先使用这两种方式导入数据.
几种方式比较如下
x | Stream Load | Broker Load | Routine Load | Insert |
---|---|---|---|---|
简述 | 通过 http 将数据导入 | 通过Broker 批量导入 Hdfs上的文件 | 通过定时任务拉取 kafka上的数据 | 通过 Insert导入 |
数据源 | 普通文件, 内存数据 | hdfs上的文件 | 通过kafka同步的数据 | 外部表数据 或 本地表数据 |
使用场景 | 文件 to doris | hive2doris | kafka2doris | MySQL2doris/ Doris2Doris, 造测试数据 |
同步/异步? | 同步 | 异步 | / | 同步 |
特点 | 适用范围广 | 适合大批量数据导入 | 适合从kafka 导入数据 | 简单方便. 快捷 |
注意点:
- 超时问题. 系统有默认超时时间. 如果操作超时, 需要酌情调整
- 数据量上限问题. 注意单次导入的数据量上限限制.
-
insert into table xx values(c1, c2, ..), (cxx, )
这种方式不能用于ETL
p.s.
- 低版本文档中有
Mini Load
. 现在Mini Load
的功能是Stream Load
的一个子集. 已经被Stream Load
替代.
疑问
- 如果导入
PostgreSQL
数据?
大数据量可以考虑采用
Broker
形式.PG
->hdfs
->Doris
小批量增量可以考虑采用:
Stream Load
方式.PG
---[http] ---->Doris
. 写程序实现.Routine Load
方式.PG
->Kafka
->Doris
. 现成工具多
- 支持
PostgreSQL
上的外部表吗?
翻了
v0.11
的代码&看文档. 不支持