我正在使用lz4压缩并将数据写入配置单元表,该表有20个文件,在HDFS上每个文件都是15G,并且该表的每个文件名都以lz4结尾,例如part-m-00000.lz4
。>
当我从该表中运行select count(1)
时,它仅启动20个映射器,这意味着lz4 splittable
无效。
据说lz4支持针对文本文件的可拆分表,所以我会问我该怎么做或执行其他步骤来启用此功能。
答案 0 :(得分:0)
假设您可以控制数据的压缩方式,this codec可能会更接近您的需求,因为它嵌入了可拆分层。它设计用于Hadoop。
如果您无法更改格式,并且将其压缩为没有跳转表的单个流,那么恐怕没有好的解决方案。 lz4
默认情况下,CLI会将数据拆分为4 MB的块,但不提供任何跳转表。跳转表使档案易于以随机顺序读取。如果没有它,就必须流传输数据并分发块以进行后续处理。