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中创建外部表
相关推荐
颜子鱼10 小时前
git基础
大数据·git·elasticsearch
乌恩大侠12 小时前
AI-RAN 在 Spark上部署 Sionna-RK
大数据·分布式·spark
G皮T14 小时前
【ELasticsearch】索引字段设置 “index”: false 的作用
大数据·elasticsearch·搜索引擎·全文检索·索引·index·检索
程序员皮皮林16 小时前
Redis:大数据中如何抗住2000W的QPS
大数据·数据库·redis
武子康18 小时前
大数据-169 Elasticsearch 入门到可用:索引/文档 CRUD 与搜索最小示例
大数据·后端·elasticsearch
v***913018 小时前
PostgreSQL 中进行数据导入和导出
大数据·数据库·postgresql
千里念行客24020 小时前
国产射频芯片“小巨人”昂瑞微今日招股 拟于12月5日进行申购
大数据·前端·人工智能·科技
一水鉴天20 小时前
整体设计 定稿 之15 chat分类的专题讨论(codebuddy)
大数据·分类·数据挖掘
7***u2161 天前
显卡(Graphics Processing Unit,GPU)架构详细解读
大数据·网络·架构
Qzkj6661 天前
从规则到智能:企业数据分类分级的先进实践与自动化转型
大数据·人工智能·自动化