2

org.apache.hadoop.io.compress.zstd.ZStandardCompressor 中的压缩级别似乎不起作用。我看到在 ZStandardCompressor 构造函数中调用了reset 函数,它是调用init(level, stream)来调用本机函数,我认为这只是设置 zstd 参数的地方。在我的测试中,我确保正在调用它,但将其称为不同的级别,如 1、5、10、20 等并没有任何区别,因为输出大小完全相同。

Hadoop似乎没有使用zstd-jni,而是使用自己的东西来使用zstd。我确信人们在 hadoop 中使用了不同的级别。你能指出我应该四处寻找下一步吗

4

1 回答 1

0

鉴于人们发现这个问题没有答案,我正在添加我使用的解决方案。InternalParquetRecordWriter 有压缩器作为参数,所以我在这里通过扩展 BytesInputCompressor 创建压缩器来集成 zstd-jni 库。

于 2020-09-07T14:14:01.023 回答