clickhouse远程连接数据库hive

一、背景

从hive抽取数据到clickhouse,如果简单的使用datax写json读写数据,会报错,则需要clickhouse的一个jdbc组件clickhouse-jdbc-bridge,通过bridge服务使用jdbc远程连接到hive数据库查询数据。

select * 
from jdbc('hivejdbc'
         ,' SELECT * 
            FROM test_table')

二、安装

step1. 从https://github.com/ClickHouse/clickhouse-jdbc-bridge下载组件源码zip程序

wget https://github.com/ClickHouse/clickhouse-jdbc-bridge/releases/download/v2.0.2/clickhouse-jdbc-bridge-2.0.2-shaded.jar

step2. 将下载 clickhouse-jdbc-bridge源码包clickhouse-jdbc-bridge-master.zip解压

unzip clickhouse-jdbc-bridge-master.zip

step3. 编译源码,生成jar包

cd clickhouse-jdbc-bridge-master

step4.执行如下命令,完成编译。编译结束,target目录下会生成两个jar包,使用*shaded结尾程序包。

mvn compile package

step5. 将-shaded.jar结尾的程序包上传到clickhouse所在服务器,并在该文件同目录下新建两个目录:①config/datasources  --存放数据源配置文件;②drivers  --jdbc驱动存放目录

三、配置

step1. 刚刚已经在clickhouse所在服务器同目录下新建目录config/datasources,在该目录下找到hivejdbc.json文件名或新建,配置该文件。其中文件名会用于查询sql。

/etc/clickhouse-jdbc-bridge/config/datasources/hivejdbc.json

step2. 配置数据库链接IP和账号密码。其中jdbcurl中的IP在不同场景中会有公网或内网的区别。例如可能是服务器配置访问的是内网地址ip,但是在客户端查询访问的IP公网IP。

more /etc/clickhouse-idbc-bridge/contig/datasources/hivejdbc.jsor

json文件内容:

{
    "impala": {
      "driverUrls": [
        "/root/etl_ext_lib/ImpalaJDBC41.jar"     --驱动路径 
      ],
      "driverClassName": "com.mysql.cj.jdbc.Driver",  --驱动名称
      "jdbcUrl": "jdbc:impala://localhost:21050/default",  --链接地址
      "user":"impala",   --用户名
      "password":"impala"  --用户密码
    }
}

四、启动服务

java -jar -shaded.jar结尾的程序包

五、查询

远程访问hive库test_table表数据,第一个参数'hivejdbc'对应的是config/datasources目录下hivejdbc.json的文件名。

select * 
from jdbc('hivejdbc'
         ,' SELECT * 
            FROM test_table')

 六、参考案例

ClickHouse JDBC表引擎(clickhouse-jdbc-bridge)

clickhouse-jdbc-bridge

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值