我想知道在mapreduce应用程序中读取java属性文件的标准做法是什么,以及在提交(启动)作业时如何将位置传递给它。在常规java应用程序中,可以将位置作为jvm系统属性(-d)或参数传递给main方法。mapreduce作业的最佳替代方案(标准实践)是什么?一些好的例子会很有帮助。
mzmfm0qo1#
最好的选择是使用 DistributedCache 然而,这可能不是标准的方法。还有其他方法。但到目前为止,我还没有看到任何代码使用其他任何东西。其思想是将文件添加到缓存中,并在其中读取 setup 将值Map/还原并加载到 Properties 或者 Map . 如果你需要片段我可以添加。哦,我记得,我的朋友jtherocker用了另一种方法。他将文件的全部内容与文件中的一个键相对照 Configuration 对象,得到了它的价值 setup 然后在一个 Map . 在这种情况下,文件读取是在驱动程序上完成的,而驱动程序以前是在任务一侧完成的。虽然它适合小文件,看起来更干净,正统的人可能不喜欢污染 conf 完全。我想看看,还有什么帖子带出来的。
DistributedCache
setup
Properties
Map
Configuration
conf
1条答案
按热度按时间mzmfm0qo1#
最好的选择是使用
DistributedCache
然而,这可能不是标准的方法。还有其他方法。但到目前为止,我还没有看到任何代码使用其他任何东西。其思想是将文件添加到缓存中,并在其中读取
setup
将值Map/还原并加载到Properties
或者Map
. 如果你需要片段我可以添加。哦,我记得,我的朋友jtherocker用了另一种方法。他将文件的全部内容与文件中的一个键相对照
Configuration
对象,得到了它的价值setup
然后在一个Map
. 在这种情况下,文件读取是在驱动程序上完成的,而驱动程序以前是在任务一侧完成的。虽然它适合小文件,看起来更干净,正统的人可能不喜欢污染conf
完全。我想看看,还有什么帖子带出来的。