如何在 Doris 中通过外表访问 OceanBase 表

2024-06-15 07:04
文章标签 访问 doris oceanbase 外表

本文主要是介绍如何在 Doris 中通过外表访问 OceanBase 表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在OceanBase 中建立了一张表 test.t1:

CREATE TABLE `t1` (`apply_id` varchar(500) DEFAULT NULL,`apply_dt` date DEFAULT NULL,`mobile_prov_nm` varchar(500) DEFAULT NULL,`mobile_city_nm` varchar(500) DEFAULT NULL
);-- 插入 10000 行数据到 t1 表insert /*+parallel(48) enable_parallel_dml append */ into t1select abs(random()),case abs(random()%3)when 0 then '2022-10-10'when 1 then '2021-10-10' when 2 then '2023-10-10'end,abs(random()%10000),10000000 * abs(random()%25)
from table(generator(10000));

我的 OceanBase 的账号信息如下:

host: 127.0.0.1
port: 44035
database: test
user: root@mysql_tenant
pass: 空

然后在 Doris 中通过外表 et1 可以访问 OceanBase 中的 t1 表。Doris 中建外表的流程如下:

drop resource jdbc_resource;
drop table et1;CREATE EXTERNAL RESOURCE jdbc_resource
properties ("type"="jdbc","user"="root@mysql_tenant","password"="","jdbc_url"="jdbc:oceanbase://127.0.0.1:44035/test","driver_url"="file:///home/admin/ob.z1.obs0/oceanbase-client-2.4.1.jar","driver_class"="com.oceanbase.jdbc.Driver"
);CREATE TABLE `et1` (`apply_id` varchar(500) DEFAULT NULL,`apply_dt` date DEFAULT NULL,`mobile_prov_nm` varchar(500) DEFAULT NULL,`mobile_city_nm` varchar(500) DEFAULT NULL
)ENGINE=JDBC
PROPERTIES (
"resource" = "jdbc_resource",   -- 在Doris中建立外表时依赖的资源名
"table" = "t1",   -- 在Doris中建立外表时,与外部数据库相映射的表名。
"table_type"="oceanbase"   -- 外表对应的数据库 mysql,postgresql,sqlserver,oracle, 和 jdbc_url 中的数据库名保持一致
);-- 测试访问外表
select * from et1;

其中,

  • driver_url 中的 jar 文件oceanbase-client-2.4.1.jar 文件来自 OceanBase 官网:资源与服务-》软件下载-》企业版-》[驱动和中间件](https://www.oceanbase.com/softwarecenter-enterprise)
  • jdbc_url 中 的 url 前缀是 jdbc:oceanbase ,不是 jdbc:mysql
  • driver_classcom.oceanbase.jdbc.Driver,而不是 com.mysql.jdbc.Driver
  • 创建外表的属性中,"table_type"="oceanbase" 不要写成 "table_type"="mysql"

总之,所有 mysql 的痕迹,都变成 oceanbase,就对了。其余和 MySQL jdbc 一模一样。

这篇关于如何在 Doris 中通过外表访问 OceanBase 表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1062747

相关文章

Python 标准库time时间的访问和转换问题小结

《Python标准库time时间的访问和转换问题小结》time模块为Python提供了处理时间和日期的多种功能,适用于多种与时间相关的场景,包括获取当前时间、格式化时间、暂停程序执行、计算程序运行时... 目录模块介绍使用场景主要类主要函数 - time()- sleep()- localtime()- g

使用Python实现批量访问URL并解析XML响应功能

《使用Python实现批量访问URL并解析XML响应功能》在现代Web开发和数据抓取中,批量访问URL并解析响应内容是一个常见的需求,本文将详细介绍如何使用Python实现批量访问URL并解析XML响... 目录引言1. 背景与需求2. 工具方法实现2.1 单URL访问与解析代码实现代码说明2.2 示例调用

关于Java内存访问重排序的研究

《关于Java内存访问重排序的研究》文章主要介绍了重排序现象及其在多线程编程中的影响,包括内存可见性问题和Java内存模型中对重排序的规则... 目录什么是重排序重排序图解重排序实验as-if-serial语义内存访问重排序与内存可见性内存访问重排序与Java内存模型重排序示意表内存屏障内存屏障示意表Int

SpringBoot实现基于URL和IP的访问频率限制

《SpringBoot实现基于URL和IP的访问频率限制》在现代Web应用中,接口被恶意刷新或暴力请求是一种常见的攻击手段,为了保护系统资源,需要对接口的访问频率进行限制,下面我们就来看看如何使用... 目录1. 引言2. 项目依赖3. 配置 Redis4. 创建拦截器5. 注册拦截器6. 创建控制器8.

SpringBoot如何访问jsp页面

《SpringBoot如何访问jsp页面》本文介绍了如何在SpringBoot项目中进行Web开发,包括创建项目、配置文件、添加依赖、控制层修改、测试效果以及在IDEA中进行配置的详细步骤... 目录SpringBoot如何访问JSP页python面简介实现步骤1. 首先创建的项目一定要是web项目2. 在

Linux限制ip访问的解决方案

《Linux限制ip访问的解决方案》为了修复安全扫描中发现的漏洞,我们需要对某些服务设置访问限制,具体来说,就是要确保只有指定的内部IP地址能够访问这些服务,所以本文给大家介绍了Linux限制ip访问... 目录背景:解决方案:使用Firewalld防火墙规则验证方法深度了解防火墙逻辑应用场景与扩展背景:

Python使用pysmb库访问Windows共享文件夹的详细教程

《Python使用pysmb库访问Windows共享文件夹的详细教程》本教程旨在帮助您使用pysmb库,通过SMB(ServerMessageBlock)协议,轻松连接到Windows共享文件夹,并列... 目录前置条件步骤一:导入必要的模块步骤二:配置连接参数步骤三:实例化SMB连接对象并尝试连接步骤四:

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚:

OpenStack中加固VNC访问安全

OpenStack中加固VNC访问安全 目录 OpenStack中加固VNC访问安全1.问题发现2.流程分析3.潜在后果4.解决方案④配置IPtables⑤VNC添加访问密码 5.参考链接 1.问题发现 很多同学使用noVNC之后都没有退出终端的习惯,往往都是用完了就直接关闭网页窗口。说这样隐患很大,如果内网里面有一些script kiddie随时都能将我们线上的虚拟