我正在使用lz4压缩并将数据写入一个配置单元表,这个表有20个文件,每个文件在HDFS上都是15G,并且这个表的每个文件名都以lz4结尾,例如,part-m-00000.lz4。
当我在这个表中运行select count(1)时,它只启动了20个映射器,这意味着lz4 splittable不会生效。
据说lz4支持针对文本文件的splittable,所以我想问一下我应该做些什么或者其他步骤来启用它。
发布于 2019-03-01 02:59:48
假设您可以控制数据的压缩方式,this codec可能更接近您的需求,因为它嵌入了一个可拆分的层。它是为使用Hadoop而设计的。
如果你不能改变格式,并且它被压缩成没有跳转表的单个流,那么我担心没有好的解决方案。默认情况下,lz4 CLI会将数据拆分为4 MB的数据块,但不提供任何跳转表。跳转表使得档案很容易以随机顺序读取。如果没有它,就有必要流式传输数据,并分发数据块以供以后处理。
https://stackoverflow.com/questions/54906265
复制相似问题