在 Pail Tap Hadoop 作业中为输入指定多个文件夹

Posted

技术标签:

【中文标题】在 Pail Tap Hadoop 作业中为输入指定多个文件夹【英文标题】:Specify Multiple Folders for Input in Pail Tap Hadoop Jobs 【发布时间】:2014-07-08 12:56:53 【问题描述】:

我正在使用 Cascalog API 运行 hadoop mapreduce 作业。我想使用多个输入文件夹来处理 map reduce 作业。

我在 HDFS rooPath/Folder_1 和 rootPath/Folder_2 中有两个文件夹,其中包含要在作业中处理的文件。

我通过 Pail Tap 功能为工作提供输入文件夹:

new PailTap(rootPath + "Folder_1",
            JcascalogUtils.getPailTapOptions());

我可以为同一个工作分配多个文件夹吗?

我可以给一个正则表达式 fodler Path 像 rootPath+*/ 这样它会处理 rootPath 文件夹中的所有文件夹。

感谢您的帮助:)

【问题讨论】:

【参考方案1】:

您可以像这样使用 MultiSourceTap:

dataSource = new MultiSourceTap( 
              new PailTap(rootPath + "Folder_1",JcascalogUtils.getPailTapOptions()),
              new PailTap(rootPath + "Folder_2",JcascalogUtils.getPailTapOptions())
             );

或使用 GlobHfs

dataSource = new GlobHfs(new PailTap(rootPath,JcascalogUtils.getPailTapOptions()).getScheme() , rootPath + "*");

【讨论】:

以上是关于在 Pail Tap Hadoop 作业中为输入指定多个文件夹的主要内容,如果未能解决你的问题,请参考以下文章

如何在python中为Hadoop Map Reduce作业编写组合器和分区器?我如何在Hadoop Job中调用它

在 UICollectionViewCell 中为 UIButton 设置 rx.tap 的问题 - RxSwift 3

hadoop 怎么设置多个输入路径

hadoop 模式下的 Mrjob:启动作业时出错,输入路径错误:文件不存在

Hadoop MapReduce 多路径输入与多个输入

Hadoop-2.4.1学习之InputFormat及源代码分析