lz4压缩是不可拆分的

ljo96ir5  于 2021-05-27  发布在  Hadoop
关注(0)|答案(1)|浏览(373)

我使用lz4压缩并将数据写入一个配置单元表,这个表有20个文件,每个文件在hdfs上是15g,这个表的每个文件名都以lz4结尾,例如, part-m-00000.lz4 .
当我跑的时候 select count(1) 从这个表中,它只启动了20个Map器,这意味着 lz4 splittable 不会生效。
据说lz4支持对文本文件进行拆分,所以我想问一下我应该做些什么或者其他的步骤来实现这一点。

ztmd8pv5

ztmd8pv51#

假设您可以控制数据的压缩方式,这个编解码器可能更接近您的需要,因为它嵌入了一个可拆分层。它是为使用hadoop而设计的。
如果你不能改变格式,它被压缩成一个没有跳转表的单一流,那么恐怕没有好的解决方案。 lz4 默认情况下,cli会将数据拆分为4MB的块,但不提供任何跳转表。跳转表使归档文件易于随机读取。如果没有它,就需要流式传输数据,并分发块以便进行后续处理。

相关问题