栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

flink实时写入数据到 clickhouse 报错Could not initialize class ru.yandex.clickhouse.ClickHouseUtil

flink实时写入数据到 clickhouse 报错Could not initialize class ru.yandex.clickhouse.ClickHouseUtil

问题介绍:

项目在使用clickhouse jdbc 将flink数据实时写入clickhouse时候,报错:

Caused by: java.lang.NoClassDefFoundError: Could not initialize class ru.yandex.clickhouse.ClickHouseUtil

解决:

1.直接拿报错信息百度,没查到解决方法,只能自己在去想想办法了,最好的办法就是源码刚进去

2.直接断点跟进源码 发现ClickHouseUtil 类下导入的包不存在,如图所示

3.直接去查 com.google.common.escape.Escaper; 这个包是在 com.google.guava 依赖下的。 后面添加了下面的依赖发现还是不行,因为这个依赖 中也还是没有那个包,所以再去换一个

 
      com.google.guava
      guava
      13.0.1
  -->

4.在仓库中心找到了,替换成下面的依赖就行了,这时候发现ClickHouseUtil 以及能成功导入该包了


    com.google.guava
    guava
    31.0.1-jre

ps: 真的套用以前的习惯,拿着问题就去百度,百度了好久,都没能解决其中包括https://stackoverflow.com/,github等等地方都搜遍了,以及在GitHub上手flink写入clickhouse的源 码也无解。所以有时候 还是得跟进源码去一探究竟

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/654499.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号