首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将map-减少来自不同文件夹的输出到单个文件夹中

将map-减少来自不同文件夹的输出到单个文件夹中
EN

Stack Overflow用户
提问于 2013-11-14 14:11:47
回答 2查看 2.1K关注 0票数 1

我有地图-减少输出的网格分裂在几个文件夹。每个文件的格式是相同的。每个文件夹都有一堆文件:示例:/folderpath/ folder 1/part-r-00001 to /folderpath/folder 1/part-r-00100. /folderpath/foldern/part-r-00001 to /folderpath/foldern/part-r-00100

将内容合并到一起的最简单方法是什么,即将文件聚合到单个文件夹(我希望稍后使用) /folderpath/merged/part-r-0000* . /folderpath/merged/part-r-000n

我可以想到猪脚本,它读取每条路径的输出,并结合关系读,然后转储它们。

还有其他选择/命令吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-14 15:54:48

使用猪是非常容易的:

代码语言:javascript
复制
data = LOAD '/folderpath/folder*' USING PigStorage('\n');
STORE data INTO '/newfolderpath';

或者,您可以使用hadoop的getmerge函数,但这将将所有内容转换为本地磁盘上的单个文件。

如果文件不太大,这将是将其转换为HDFS上的单个文件的一种简单方法:

代码语言:javascript
复制
hdfs dfs -cat /folderpath/folder* | hdfs dfs -copyFromLocal - /newfolderpath/file
票数 1
EN

Stack Overflow用户

发布于 2013-11-14 15:46:38

老实说,我只需要使用hadoop命令编写一个简短的bash脚本。

代码语言:javascript
复制
hadoop fs -mv /source1/somefolder/.* /destination/somefolder
hadoop fs -mv /source2/somefolder/.* /destination/somefolder

为您需要移动的每个文件夹放置一行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19979896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档