avro.codec无法在hdfs接收器连接器中工作,无法进行快速压缩

wvt8vs2t  于 2021-06-06  发布在  Kafka
关注(0)|答案(1)|浏览(400)

我正在使用汇合hdfs接收器连接器,我正在以avro格式插入数据。
我想使用snappy压缩来压缩数据。
Kafka:confluent的hdfs连接器支持快速压缩吗?我使用了上面提到的解决方案
我添加了配置
avro.codec=快速
但是,它并没有像在中那样对我起作用,创建的文件没有使用snappy压缩进行压缩。通常,当我运行spark作业时,我的文件会附加.snappy文件扩展名,但在本例中,我看不到这种情况发生。我假设我的文件没有被snappy压缩。
有没有其他配置我遗漏了?

6za6bjd0

6za6bjd01#

如果你有avro工具可用,你可以用它来检查文件

$ java -jar avro-tools-1.8.1.jar getmeta kafka-connect-file.avro

avro.schema {"type":"record","name":"...
avro.codec  snappy

还有一个十六进制编辑器

$ cat kafka-connect-file.avro | xxd | grep -B1 snappy

00001c00: 656e 7422 7d14 6176 726f 2e63 6f64 6563  ent"}.avro.codec
00001c10: 0c73 6e61 7070 7900 9fd1 5fb0 2a3a 45ba  .snappy..._.*:E.

要将文件转换为非snappy avro文件,可以使用 recodec avro工具。

$ java -jar avro-tools-1.8.1.jar recodec kafka-connect-file.avro > non-snappy.avro
$ ls -l *.avro  # Should see slight difference in Avro file sizes

相关问题