天天看點

parquet.hadoop 狂打日志,不受控制

說坑

Confluent 将資料寫入hadfs時,會調用parquet的接口。基本每寫一次資料,就會打日志。有兩點讓人很崩潰:

  1. 對快速的流式來說,日志一直打一直打;
  2. 不受kafka connect的log4j配置控制;

查坑

版本說明:

  1. kafka confluent 2.0.0
  2. 對應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: