clickhouse与oracle传输数据

devtools/2024/9/24 21:58:08/

参考

https://github.com/ClickHouse/clickhouse-jdbc-bridge

https://github.com/ClickHouse/clickhouse-jdbc-bridge/blob/master/docker/README.md

clickhouse官方提供了一种方式,可以实现clickhouse与oracle之间传输数据,不仅仅是oracle,而且是一类支持jdbc的数据库,这种方式就是JDBC bridge for ClickHouse

它可以作为一个无状态的代理将查询传递到外部数据源。由于这个扩展功能,你可以在clickhouse上运行分布式查询,这查询能够做到实时跨多数据源。

安装

如何部署

直接在部署clickhose的linux服务器上,下载安装释出的debian/rpm包。Debian/Ubuntu按照如下操作即可。

apt update && apt install -y procps wget

wget 

https://github.com/ClickHouse/clickhouse-jdbc-bridge/releases/download/v2.1.0/clickhouse-jdbc-bridge_2.1.0-1_all.deb

说明:第一次下载失败后,再次下载,文件名多了后缀.1,稍后删除之前下载不完整的文件,并将这个完整文件的文件名后缀.1剔除。

第一次下载失败如下所示,重新下载即可,外网速度问题

apt install --no-install-recommends -f ./clickhouse-jdbc-bridge_2.1.0-1_all.deb

clickhouse-jdbc-bridge

说明:第一次下载失败,多次下载,安装时报错

如上截图所示,删除第一个下载失败的(rm),并调整名称后(mv),再次执行。

启动  clickhouse-jdbc-bridge

启动时报错,提示没有日志文件,参考链接

https://github.com/ClickHouse/clickhouse-jdbc-bridge/tree/master中configuration中有关于日志的配置

点击查看,按照下图所示配置文件中的路径,以root用户登录,新建目录。

/var/log/clickhouse-jdbc-bridge/console.log

再启动时不再报无法加载日志处理器的错误。

配置

目录结构

上传驱动文件

切换到clickhouse-jdbc-bridge主目录,本例中为

/etc/clickhouse-jdbc-bridge

新建目录 mkdir drivers

以root用户登录,上传oracle驱动

重启 clickhouse-jdbc-bridge,在clickhouse client输入如下形式的内容,回车。

select * from jdbc('jdbc:oracle:thin:name/pass@ip:port:sid', 'select 1 from dual')

或者如下

select * from jdbc('jdbc:oracle:thin:name/pass@ip:port/sid', 'select 1 from dual')

不建议直接暴露数据库的连接信息,可以将连接信息配置在config中的json文件中,然后再引用配置信息。

配置连接信息

切换到config目录

将数据库的连接配置信息可以放在config/datasources目录的json文件中。

复制示例文件,然后调整

cp datasource.json.example ora.json

驱动地址:/etc/clickhouse-jdbc-bridge/drivers/ojdbc6.jar

jdbcUrl:jdbc:oracle:thin:@port:port:sid

调整完之后保存,clickhouse-jdbc-bridge会自动读取json配置内容。如果没读取到,重启下clickhouse-jdbc-bridge,出现如下图所示,红框的内容,表示读取成功。

验证效果


http://www.ppmy.cn/devtools/23655.html

相关文章

不同语言在算法使用方面的差异(Java 、C++篇)

由于我认为的会了是能得到结果了,所以我亲自去把题解的C代码给改成了Java的,尽管代码和逻辑上的高度统一。编译器还是报错了。 第三个死都过不去。而且后面的还超时了。 这使我十分怀疑是不是超时或者空间不够所导致的。但是去问讯飞星火,它…

【Qt】error LNK2001: 无法解析的外部符号

参考:Qt/VS LNK2019/LNK2001:无法解析的外部符号_qt lnk2001无法解析的外部符号-CSDN博客 微软官方报错文档-链接器工具错误 LNK2019 __declspec error LNK2001: 无法解析的外部符号 "__declspec(dllimport) 原因 以这种为前缀的基本上跟库相关…

国产Sora诞生!清华团队发布Vidu大模型,可直接生成16秒视频

大模型之争已从单模态转向多模态。 4月27日,在2024中关村论坛年会未来人工智能先锋论坛上,清华大学联合北京生数科技有限公司正式发布了文生视频大模型——Vidu。 在会议上,清华大学人工智能研究院副院长、生数科技首席科学家朱军对外展示了…

YOLO新鲜腐烂水果检测数据集:8类,11000多张图像,标注完整

YOLO新鲜腐烂水果检测数据集:8类,11000多张图像,yolo标注完整,包含烂苹果,烂香蕉,烂橙子,烂石榴,好苹果,好香蕉,好橙子,好石榴8个类别 图像统一分…

快速排序思想及实现

思想(从小到大排序) 总体 对数组进行分区,选定一个元素作为基准,然后将小于基准的元素放在基准的左边,将大于基准的元素放在基准右边,分区完成之后再对左边的元素和右边的元素分别进行分区,直到左右区间不可再分。这…

sky13笔记

1.generate用法 generate是物理上的展开&#xff0c;在compile时完成展开。 e.g.把array里面的每一项放入scale&#xff1a; wire [7:0] array [0:7]; wire [8*8-1 :0]scale; generate genvar gen_x; for(gen_x 0; gen_x <8; gen_x gen_x 1)begin:gen_scaleassign scale[ge…

vue3使用echarts做树图tree

vue3使用echarts做树图tree 1.安装echarts npm install echarts --save2.在main.js引入 import * as echarts from echarts // 全局方法 app.config.globalProperties.$echarts echarts3.使用 <div id"myChart" :style"{ width: 1000px, height: 1000px …

信号分解 | SSA(奇异谱分析)-Matlab

分解效果 SSA(奇异谱分析) 信号分解 | SSA(奇异谱分析)-Matlab 奇异谱分析(Singular Spectrum Analysis,简称SSA)是一种用于时间序列分析的方法。它可以用于数据降维、信号分解、噪声去除和预测等应用。 SSA的基本思想是将时间序列分解为若干个成分,每个成分代表着不同的…