我有Map减少输出网格分割成几个文件夹。每个文件的格式都相同。每个文件夹都有一组文件:例如:/folderpath/folder1/part-r-00001到/folderpath/folder1/part-r-00100/folderpath/foldern/part-r-00001至/folderpath/foldern/part-r-00100
将内容组合在一起的最简单方法是什么,即将文件聚合到单个文件夹中(稍后使用)/folderpath/merged/part-r-0000*/文件夹路径/合并/零件-r-000n
我可以想到pig脚本,它读取每条路径的输出,并执行关系的并集读取,然后转储它们。
还有其他选择/命令吗?
2条答案
按热度按时间mpgws1up1#
老实说,我只需要使用hadoopfs命令编写一个简短的bash脚本。
为每个需要移动的文件夹放一行。
kulphzqa2#
使用pig非常简单:
或者可以使用hadoop shell的
getmerge
功能,但这会将所有内容转换为本地磁盘上的单个文件。如果文件不是太大,这将是一种在hdfs上将其转换为单个文件的简单方法: