gzip—从flink bucketingsink生成的有效长度文件中恢复压缩文件

ig9co6j1  于 2021-06-21  发布在  Flink
关注(0)|答案(0)|浏览(248)

我正在使用flink bucketingsink的自定义gzip压缩编写器在hdfs上编写压缩文本文件。我想确保Flume正好是一次。在我的例子中,hadoop<2.7,bucketingsink将生成一个有效长度的文件,如果作业有时失败,它将记录该文件的有效字节长度。截短纯文本文件很容易,但是gzip压缩文件有很大的不同,将文件截短到有效长度会损坏gzip。但是,使用bash应用程序“zcat”可以显示数据,而无需验证格式和crc32。
但是为了恢复gz文件的有效性,现在我需要执行以下步骤:1。下载所有失败的gz文件2。按有效长度截断它们。3.zcat将被截断的gz文件重定向到文本文件。4.使用gzip重新压缩文本文件。5.将修改后的文件上载到hdfs
这个方法非常慢,因为我可能有数百个文件来做这些工作。有什么好主意做我的工作吗?我认为一些并行分布式方法可能会奏效。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题