我正在使用Cascalog API运行hadoop mapreduce作业。我想采用多个输入文件夹来处理地图缩减作业。
我在HDFS中有两个文件夹rooPath / Folder_1& rootPath / Folder_2,包含要在作业中处理的文件。
我通过Pail Tap功能为作业提供输入文件夹:
new PailTap(rootPath + "Folder_1",
JcascalogUtils.getPailTapOptions());
我可以为同一个作业提供多个文件夹。
并且我可以像rootPath + * /一样提供正则表达式fodler路径,以便它将处理rootPath文件夹中的所有文件夹。
感谢您的帮助:)
答案 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 + "*");