clickhouse与oracle传输数据

参考

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,出现如下图所示,红框的内容,表示读取成功。

验证效果

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值