【发布时间】:2013-07-09 18:15:56
【问题描述】:
是否可以让 Pig 使用一个映射器处理多个小文件(假设这样做会提高工作速度)。我们有一个问题,hdfs 中有数千个小文件,而 pig 创建了数百个映射器。 Pig 是否提供了一个简单的(全部或部分)解决方案来解决这个问题?
【问题讨论】:
标签: hadoop mapreduce hdfs apache-pig
是否可以让 Pig 使用一个映射器处理多个小文件(假设这样做会提高工作速度)。我们有一个问题,hdfs 中有数千个小文件,而 pig 创建了数百个映射器。 Pig 是否提供了一个简单的(全部或部分)解决方案来解决这个问题?
【问题讨论】:
标签: hadoop mapreduce hdfs apache-pig
您可以利用这些属性将这些多个文件合并为一个文件,以便它们由单个地图处理:
此功能适用于 PigStorage,无需编写任何自定义加载器。更多信息可以在here找到。
HTH
【讨论】:
Hadoop 中包含大量小文件的常见方法是将它们聚合成大型 Sequence 或 Avro 文件,然后使用各自的存储函数来读取它们。 对于 Pig 和 Avro,请查看 AvroStorage
【讨论】: