需求:
hadoop执行mr的时候以时间为名称在某固定目录下生成数据文件,比如日志,那么在对此做分析的时候需要把此目录下的所有目录作为input数据源来操作。
实现:
构建Path[]来作为数据源核心代码:
Path inPath = new Path("/hadoop/bizlog/");FileStatus[] status = hdfs.listStatus(inPath);Listlist = new ArrayList ();for (FileStatus fileStatus : status) { if (hdfs.getFileStatus(fileStatus.getPath()).isDir()) { list.add(fileStatus.getPath()); }}Path[] paths = new Path[list.size()];list.toArray(paths);TextInputFormat.setInputPaths(job, paths);