Doris使用JDBC的方式链接外部表

Doris使用JDBC的方式链接外部表

我们都知道Doris的强大的湖仓一体(Data Lakehouse)功能使其可以通过外表的方式将其他数据库中的数据关联进Doris来统一管理查询,下面我将使用JDBC的链接方式给大家演示Doris如何创建外部资源,如何连接外部表。

1、创建Resource

首先第一步我们通过CREATE RESOURCE语句创建资源:

CREATE [EXTERNAL] RESOURCE "resource_name"
PROPERTIES ("key"="value", ...);

仅 root 或 admin 用户可以创建资源。目前支持 Spark, ODBC, S3, JDBC, HDFS, HMS, ES 外部资源。 将来其他外部资源可能会加入到 Doris 中使用。

这里演示Doris创建postgresql数据库资源,支持JDBC链接的数据库都可以按照此方法来操作,例如Mysql、Oracle 、SQL Server。。。

CREATE EXTERNAL RESOURCE pg_resource --pg_resource 为创建的资源名称,这里自己定义,下面需要用到这个资源名称来创建外部表
PROPERTIES (
   "type"="jdbc", -- 这里默认jdbc,不用改动,doris还支持支持其他数据类型spark|odbc|s3|jdbc|hdfs|hms|es,需要的可参考官方文档
   "user"="postgres", -- 链接的用户名
   "password"="12345678", -- 数据库密码
   "jdbc_url" = "jdbc:postgresql://192.168.1.1:5432/cqa?useSSL=false", --url 和javaweb开发配置一样
   "driver_url" = "postgresql-42.5.0.jar", -- 数据库jar包。配置方式1,官方推荐的方式,还有https的方式 可参考官方文档
   "driver_class" = "org.postgresql.Driver" -- driver_class不需改动
);

这里需要注意的是driver_url,很多人会在这里踩坑,driver_url配置的的是postgresql的链接驱动,这里的版本需要和doris安装目录下的jdbc_drivers里面的名称保持一致。

doris安装目录:
在这里插入图片描述
如果你的安装路径下没有jdbc_drivers,就自己创建一个。然后把postgresql-42.5.0.jar上传至jdbc_drivers目录下。

在这里插入图片描述
在jdbc_drivers中上传什么版本的jar,对应的driver_url就配置什么。别搞错了,因为doris就是通过配置的driver_ur在jdbc_drivers目录下找对应的jar包来连接的。

以上如果没问题,那么通过SHOW RESOURCES可以来查看我们创建成功的资源。

SHOW RESOURCES;

在这里插入图片描述

2、创建外部表

这里直接上SQL:

CREATE EXTERNAL TABLE `cfg_region_info` (
    `province_code` INT(4) NOT NULL,
    `province_name` VARCHAR(255) NULL,
    `city_code` INT(4) NOT NULL,
    `city_name` VARCHAR(255) NULL
)
ENGINE=JDBC
COMMENT '区域外部表'
PROPERTIES (
"resource" = "pg_resource",
"table" = "cfg_region_info",
"table_type" = "postgresql"
);

建表就比较简单了,建表关键字CREATE EXTERNAL TABLE 表名,主要说一下PROPERTIES。

  • resource:就是上面创建的资源名称pg_resource。
  • table: postgresql数据库中的源表。
  • table_type:根据实际数据库填写。

创建完表之后我们就可以直接在Doris中查询postgresql下的cfg_region_info表了。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值