【发布时间】:2014-08-04 15:22:40
【问题描述】:
我想使用 hadoop 命令列出文件。 “hadoop fs -ls 文件路径”。我想编写一个Java代码来实现这一点。我可以编写一小段 java 代码,制作一个 jar 并将其提供给 Map reduce 作业(Amazon EMR)来实现这一点吗?能否请您指出我可以使用的代码和步骤?
【问题讨论】:
标签: hadoop mapreduce elastic-map-reduce amazon-emr
我想使用 hadoop 命令列出文件。 “hadoop fs -ls 文件路径”。我想编写一个Java代码来实现这一点。我可以编写一小段 java 代码,制作一个 jar 并将其提供给 Map reduce 作业(Amazon EMR)来实现这一点吗?能否请您指出我可以使用的代码和步骤?
【问题讨论】:
标签: hadoop mapreduce elastic-map-reduce amazon-emr
您可以使用下面的 JAVA 代码列出 HDFS 中的文件
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.FileUtil;
import org.apache.hadoop.fs.Path;
...
Configuration configuration = new Configuration();
FileSystem hdfs = FileSystem.get(new URI("hdfs://localhost:54310"), configuration);
FileStatus[] fileStatus = hdfs.listStatus(new Path("hdfs://localhost:54310/user/path"));
Path[] paths = FileUtil.stat2Paths(fileStatus);
for (Path path : paths) {
System.out.println(path);
}
在您的 map reduce 触发代码(main 或 run 方法)中使用它来获取列表并为您的 map reduce 类传递参数
选项 2
【讨论】:
制作文件夹,
将文件放入 hdfs,
阅读,
上市和
写入数据存在于 JAVA API 文件夹中。
并且您可以探索其他文件夹以获取 java 中的 map-reduce 代码。
【讨论】: