从Eclipse Kepler运行Hadoop MapReduce WordCount程序并使用位于Mapreduce中的预定义jar文件(hadoop-mapreduce-example-2.6.0.jar)运行它有什么不同。 速度,性能等有什么不同。
答案 0 :(得分:2)
没有区别。只是当您的输入很大并且您在多个节点上运行mapper / reducer时,您会看到性能的显着改善,因为现在字数统计将在不同的机器上并行完成。
答案 1 :(得分:1)
当您从eclipse运行map-reduce(即没有构建.jar并通过单击run program直接运行)时,您实际上在伪模式下运行map-reduce(主要用于测试)目的)。
要以伪模式运行程序,您并不需要安装hadoop。你只需要hadoop jar文件。
但是当你使用hadoop-mapreduce-example-2.6.0.jar(即你编写命令在终端上运行它)时,你实际上是在live cluster(Hadoop)上运行mapreduce。为此,您需要启动并运行Hadoop集群。
答案 2 :(得分:0)
在Eclipse中运行WordCount
程序时,您正在本地模拟将在实际hadoop引擎上运行的实际行为。它的行为就像您有一个本地集群,但不是。当通过JAR运行它时,JAR包含.class
文件,该文件为真实集群提供了Map and Reduce应该如何工作的提示。
如果输入文件很大,则将其分成多个拆分并进行相应处理,然后将输出存储到HDFS
中,而不仅仅是登录控制台。