在Hadoop MapReduce应用程序中读取Java属性文件

时间:2014-11-04 23:34:10

标签: java hadoop mapreduce

我想知道在MapReduce应用程序中读取Java属性文件的标准做法是什么,以及在提交(启动)作业时如何将位置传递给它。 在常规Java应用程序中,您可以将位置作为JVM系统属性(-D)或main方法的参数传递给属性文件。 MapReduce作业的最佳替代方案(标准做法)是什么?一些好的例子会非常有用。

1 个答案:

答案 0 :(得分:2)

最好的选择是使用DistributedCache,但它可能不是标准方式。可以有其他方式。但到目前为止我还没有看到任何使用其他代码的代码。

我们的想法是将文件添加到缓存中,并在map / reduce setup方法中读取它,并将值加载到PropertiesMap。如果你需要片段,我可以添加。

哦,我记得,我的朋友JtheRocker使用了另一种方法。他根据Configuration对象中的一个键设置文件的全部内容,在setup上得到它的值,然后解析&在Map中加载对。在这种情况下,文件读取是在驱动程序上完成的,该驱动程序以前在任务一侧。虽然它适用于小文件并且看起来更干净,但正统人士可能根本不想污染conf

我想看看,其他帖子带来了什么。