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

时间:2014-07-08 12:56:53

标签: hadoop input mapreduce hdfs bigdata

我正在使用Cascalog API运行hadoop mapreduce作业。我想采用多个输入文件夹来处理地图缩减作业。

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

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

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

我可以为同一个作业提供多个文件夹。

并且我可以像rootPath + * /一样提供正则表达式fodler路径,以便它将处理rootPath文件夹中的所有文件夹。

感谢您的帮助:)

1 个答案:

答案 0 :(得分: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 + "*");