我想知道在MapReduce应用程序中读取Java属性文件的标准做法是什么,以及在提交(启动)作业时如何将位置传递给它。在常规Java应用程序中,您可以将位置作为JVM系统属性(-D)或主方法的参数传递到属性文件。MapReduce作业的最佳替代方案(标准做法)是什么?一些好的例子会很有帮助。
最好的选择是使用DistributedCache
,但这可能不是标准的方式。还有其他方法。但到目前为止,我还没有看到任何代码使用其他任何东西。
这个想法是将文件添加到缓存中,并在映射/减少的setup
方法中读取它,并将值加载到Properties
或Map
中。如果您需要片段,我可以添加。
哦,我记得,我的朋友JtheRocker使用了另一种方法。他根据Configuration
对象中的一个键设置文件的全部内容,在setup
上得到它的值,然后解析&在CCD_ 7。在这种情况下,文件读取是在驱动程序上完成的,该驱动程序以前位于任务一侧。虽然它适合小文件,而且看起来更干净,但正统派可能根本不喜欢污染conf
。
我想看看其他帖子能带来什么。