简介
提供了 Doris 通过数据库访问的标准接口 (JDBC) 来访问外部表,外部表省去了繁琐的数据导入工作,让 Doris 可以具有了访问各式数据库的能力,并借助 Doris 本身的 OLAP 的能力来解决外部表的数据分析问题:
- 支持各种数据源接入 Doris。
- 支持 Doris 与各种数据源中的表联合查询,进行更加复杂的分析操作。
官方文档地址
JDBC 外表 - Apache Dorishttps://doris.apache.org/zh-CN/docs/1.2/lakehouse/external-table/jdbc
注意
推荐使用 JDBC Catalog 访问 JDBC 外表,1.2.2 版本后将不再维护该功能。
创建外部资源
一个外部资源数据库,创建一个外部资源即可,该库下的所有表都可以使用该资源。
-- 定义外部资源名称,具有唯一性,不可重复
CREATE EXTERNAL RESOURCE jdbc_resource
-- 定义外部表数据库链接信息
properties (
-- 类型,必填"type"="jdbc",
-- 外部数据库用户名"user"="admin",
-- 外部数据库连接密码"password"="password",
-- 外部数据库连接信息"jdbc_url"="jdbc:oracle:thin:@xxx.xxx.xxx.xxx:1521:orcl",
-- Doris数据库,链接外部数据库时使用的driver jar包,在fe、be节点的安装目录中都要存放。
-- 在 1.2.1 及之后的版本中,可以将 driver 放到 FE/BE 的 jdbc_drivers 目录下,
-- Doris默认情况下,没有jdbc_drivers 目录,需要手动创建,之后包驱动包拷贝到该目录下。"driver_url"="ojdbc8.jar",
-- 访问外表数据库的驱动包类名"driver_class"="oracle.jdbc.OracleDriver"
);
创建外部表
创建外部表时,需要关联对应的外部数据库资源,即关联第一步中创建的外部资源。
-- 创建外部表
CREATE EXTERNAL TABLE `gender_dict` (`id` int NOT NULL,`gender_code` varchar(32) NULL,`gender_name` varchar(64) NOT NULL,`gender_desc` varchar(255) NOT NULL
) ENGINE=JDBC
-- 外部表链接属性,关联该外部表需要关联的外部数据库链接资源
PROPERTIES (
-- 外部表数据来源,
-- 与第一行的CREATE EXTERNAL RESOURCE jdbc_resource 的外部资源名称保持一致
"resource" = "jdbc_resource",
-- Doris中外部表对应的外部表的名称,即:Oracle数据库中的表名。
"table" = "gender_dict",
-- 外部表的数据库来源,例如 mysql,postgresql,sqlserver,oracle等
"table_type"="oracle"
);