说坑
Confluent 将数据写入hadfs时,会调用parquet的接口。基本每写一次数据,就会打日志。有两点让人很崩溃:
- 对快速的流式来说,日志一直打一直打;
- 不受kafka connect的log4j配置控制;
查坑
版本说明:
- kafka confluent 2.0.0
- 对应parquet版本 1.7.0
1.7.0版本日志控制采用的是java.util.logging,日志等级的控制是硬编码,在类加载时进行设置。
参考:
https://github.com/apache/parquet-mr/pull/290
他们自己也受不了这种日志控制方式了,改成slf4j。在最新的版本中已经看到改掉了,但是在顶级pom.xml中控制也是让人抗拒的。
解坑
改硬编码呗,改了如下文件:
parquet-common/src/main/java/org/apache/parquet/Log.java
将默认日志等级改成了WARNING,这个就随心所欲了。重编译,然后然后修改kafka connect的LIB: