hadoop - 如何在 Hadoop 中创建和读取目录 - Mapreduce Job 工作目录

标签 hadoop mapreduce

我想在 Hadoop 中的 MapReduce 作业的工作目录中创建一个目录。

例如使用: 文件 setupFolder = new File(setupFolderName); setupFolder.mkdirs();

在我的映射器类中写入一些中间文件。这是正确的方法吗?

此外,在完成工作后,如果我愿意,我将如何再次访问该目录?

请指教。

最佳答案

如果您使用的是 java,您可以覆盖 setup 方法并在那里打开文件处理程序(并在 cleanup 中关闭它)。此句柄将对所有映射器可用。

我假设您不是在这里写所有的 map 输出,而是写一些调试/统计信息。使用此处理程序,您可以按照本例 (http://wiki.apache.org/hadoop/HadoopDfsReadWriteExample) 所示进行读写

如果您想阅读整个目录,请查看此示例 https://sites.google.com/site/hadoopandhive/home/how-to-read-all-files-in-a-directory-in-hdfs-using-hadoop-filesystem-api

请记住,您将无法依赖写入文件的数据顺序。

关于hadoop - 如何在 Hadoop 中创建和读取目录 - Mapreduce Job 工作目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6893839/

相关文章:

hadoop - 配置单元未通过 “where”子句运行Map Reduce

hadoop - Map Reduce在eclipse中执行

java - 如何单独测试作为 oozie 工作流一部分的 hadoop MapReduce java 操作(带有文件标签)?

java - 从单个 Hive UDF 创建多个列

hadoop - Ambari显示namenode已停止,但实际上namenode仍在工作

python - 在Hadoop流中使用TotalOrderPartitioner

hadoop - 如何理解hadoop文件大小和局部性优化

hadoop - MapReduce卡住为99%

node.js - MapReduce 中的 MongoDB 动态变量

java - 从作业中获取hadoop集群信息