doris通过外部表同步数据

一、doris 1.2.5版本支持

参考:https://pn7oj6yotr.feishu.cn/docx/CUfldzlYqo8nyDxHyrzc1fZGnVg 4.4小节

Doris 可以创建外部表。创建完成后,可以通过 SELECT 语句直接查询外部表的数据,也可以通过 INSERT INTO SELECT 的方式导入外部表的数据。

Doris 外部表目前支持的数据源包括:MySQL,Oracle,Hive,PostgreSQL,SQLServer,Iceberg,ElasticSearch

4.4.1 整体语法

复制代码
CREATE [EXTERNAL] TABLE table_name ( 
 col_name col_type [NULL | NOT NULL] [COMMENT "comment"] 
) ENGINE=HIVE
[COMMENT "comment"] 
PROPERTIES ( 
-- 我要映射的hive表在哪个库里面
-- 映射的表名是哪一张
-- hive的元数据服务地址
 'property_name'='property_value', 
 ... 
); 
复制代码

4.4.2 使用示例

完成在 Doris 中建立 Hive 外表后,除了无法使用 Doris 中的数据模型(rollup、预聚合、物化视图等)外,与普通的 Doris OLAP 表并无区别

在Hive 中创建一个测试用表:

复制代码
CREATE TABLE `hive_doris` ( 
 `id` int, 
 `name` string, 
 `age` int
) stored as orc;

insert into doris_table values (1,'zss',18);
insert into doris_table values (2,'lss',20);
insert into doris_table values (3,'ww',25);

Doris 中创建外部表

复制代码
CREATE EXTERNAL TABLE `hive_user_info` ( 
 `id` int, 
 `name` varchar(10), 
 `age` int 
) ENGINE=HIVE 
PROPERTIES ( 
'hive.metastore.uris' = 'thrift://linux01:9083', 
'database' = 'test', 
'table' = 'hive_doris' 
);
  • 直接 查询 外部

外部表创建好后,就可以直接在doris中对这个外部表进行查询了

直接查询外部表,无法利用到doris自身的各种查询优化机制!

复制代码
select * from hive_user_info;
复制代码
  • 将数据从外部表导入内部表
复制代码

数据从外部表导入内部表后,就可以利用doris自身的查询优势了!

假设要导入的目标内部表为: doris_user_info (需要提前创建好哦!!)

复制代码
复制代码
CREATE TABLE IF NOT EXISTS doris_user_info
(
    id INT,
    name VARCHAR(50),
    age TINYINT
)
unique key(id)
DISTRIBUTED BY HASH(id) BUCKETS 3;

-- 就是用sql查询,从外部表中select出数据后,insert到内部表即可
insert into doris_user_info
select
 *
from hive_user_info;
复制代码

注意:

Hive 表 Schema 变更不会自动同步,需要在 Doris 中重建 Hive 外表。

当前 Hive 的存储格式仅支持 Text,Parquet 和 ORC 类型

二、doris 2.1.7 不支持hive外部表

调研过程:

1、使用agc用户,进入hive , use default;建表,插入数据

复制代码
  2、doris中创建外部表
相关推荐
无忧智库9 小时前
某市“十五五“知识产权大数据监管平台与全链条保护系统建设方案深度解读(WORD)
大数据·人工智能
综合热讯9 小时前
股票融资融券交易时间限制一览与制度说明
大数据·人工智能·区块链
华农DrLai9 小时前
Spark SQL Catalyst 优化器详解
大数据·hive·sql·flink·spark
Pluchon9 小时前
硅基计划4.0 算法 简单模拟实现位图&布隆过滤器
java·大数据·开发语言·数据结构·算法·哈希算法
岁岁种桃花儿9 小时前
Flink从入门到上天系列第一篇:搭建第一个Flink程序
大数据·linux·flink·数据同步
历程里程碑9 小时前
普通数组-----除了自身以外数组的乘积
大数据·javascript·python·算法·elasticsearch·搜索引擎·flask
无忧智库9 小时前
某市“十五五”智慧教育2.0建设方案深度解读:从数字化转型到数智化融合的跨越之路(WORD)
大数据
eyun_185009 小时前
把健康小屋搬进单位 让职工暖心 让履职安心
大数据·人工智能·经验分享
会飞的老朱14 小时前
医药集团数智化转型,智能综合管理平台激活集团管理新效能
大数据·人工智能·oa协同办公
AI_567818 小时前
AWS EC2新手入门:6步带你从零启动实例
大数据·数据库·人工智能·机器学习·aws