如何让pig将多个文件输入到一个Map器中

rslzwgfq  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(277)

有没有可能让pig用一个Map器处理几个小文件(假设这样做可以提高作业的速度)。我们有一个问题,在hdfs中有数千个小文件,pig创建了数百个Map器。pig是否提供了一个简单(完整或部分)的解决方案来解决这个问题?

gudnpqoy

gudnpqoy1#

hadoop中处理大量小文件的一种常见方法是将它们聚合成大序列或avro文件,然后使用各自的存储函数来读取它们。对于pig和avro,请看avrostorage

r1zk6ea1

r1zk6ea12#

可以使用这些属性将这些多个文件合并到一个文件中,以便由单个Map处理它们:
pig.maxcombinedsplitsize–指定要由单个Map处理的数据的大小(以字节为单位)。合并较小的文件,直到达到此大小。
pig.splitcombination–打开或关闭合并拆分文件(默认设置为“true”)。
此功能可用于pigstorage,而无需编写任何自定义加载程序。更多关于这个的信息可以在这里找到。
hth公司

相关问题