读书人

Hadoop以某目录下的全部目录作为input

发布时间: 2013-12-28 22:19:33 作者: rapoo

Hadoop以某目录下的所有目录作为input源方式

需求:

hadoop执行mr的时候以时间为名称在某固定目录下生成数据文件,比如日志,那么在对此做分析的时候需要把此目录下的所有目录作为input数据源来操作。

实现:

构建Path[]来作为数据源核心代码:

Path inPath = new Path("/hadoop/bizlog/");FileStatus[] status = hdfs.listStatus(inPath);List<Path> list = new ArrayList<Path>();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);

?

读书人网 >开源软件

热点推荐