【运维问题】datax使用rdbmsreader将clickhouse数据同步到hdfs中

背景

datax中rdbmsreader是用于关系型数据库的同步,使用它对clickhouse进行尝试,将clickhouse数据同步到hdfs。由于服务器已安装datax,故直接进行尝试。

处理过程

1、直接使用rdbmsreader去读取clickhouse的数据。

报错:no suitable driver found for JDBC:clickhouse://xx.xx.xx.xxx:8123/。。。。。

解决方案: 下载clickhouse的jar包:clickhouse-jdbc-0.2.4-shaded.jar并放到datax下的目录datax/plugin/reader/rdbmsreader/libs下面。

2、再次执行datax tmp.json去读clickhouse数据。

报错:java.lang.NoClassDefFoundError:net/jpountz/lz4/LZ4Factory

解决方案:

  • 缺少相关的依赖,从git上拉取源码,修改rdbmsreader的pom.xml文件。具体路径:/DataX/rdbmsreader/pom.xml,添加上依赖。
    具体如何拉代码并打包,可见这篇文章:datax中elasticsearchwriter组件的扩展
  <!-- https://mvnrepository.com/artifact/net.jpountz.lz4/lz4 -->
  <dependency>
    <groupId>net.jpountz.lz4</groupId>
    <artifactId>lz4</artifactId>
    <version>1.3.0</version>
  </dependency>
  • 打包完后,在DataX/rdbmsreader/target/datax/plugin/reader/rdbmsreader/libs目录下新增了一个jar包lz4-1.3.0.jar,这个就是缺少的依赖。
  • 最终,将在DataX/rdbmsreader/target/datax/plugin/reader/rdbmsreader目录下新生成rdbmsreader-0.0.1-SNAPSHOT.jar包与libs下面的lz4-1.3.0.jar。
  • rdbmsreader-0.0.1-SNAPSHOT.jar:替换掉datax的plugin目录下datax/plugin/reader/rdbmsreader/的rdbmsreader-0.0.1-SNAPSHOT.jar
  • lz4-1.3.0.jar:复制到rdbmsreader的libs目录下。

至此,便可以完成同步,搞定!

参考文章:
1、java.lang.NoClassDefFoundError: net/jpountz/util/SafeUtils

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值