从EclipseKepler运行HadoopMapReduceWordCount程序和使用mapreduce中的预定义jar文件(hadoop-mapreduce-example-2.6.0.jar)运行它有什么区别。在速度、性能等方面有什么不同吗。。
9o685dep1#
没有区别。只是当您的输入是巨大的,并且mapper/reducer在多个节点上运行时,您会看到性能的大幅提高,因为现在字计数将在不同的机器上并行完成。
i34xakig2#
当你跑的时候 WordCount 在eclipse程序中,您在本地模拟实际的行为,这将在真正的hadoop引擎上运行。它的行为就像你有一个本地集群,但它不是。当您在jar中运行它时,jar包含 .class 文件,该文件向实际集群提示map和reduce应该如何工作。如果输入文件的大小是巨大的,它会被分割成多个部分,并进行相应的处理,然后将输出存储到 HDFS 不仅仅是登录控制台。
WordCount
.class
HDFS
lf5gs5x23#
当您从eclipse运行map reduce时(即不构建.jar并通过单击run program直接运行),实际上是在伪模式下运行map reduce(主要用于测试目的)。要以伪模式运行程序,实际上不需要安装hadoop。你只需要hadoopjar文件。但是,当您使用hadoop-mapreduce-example-2.6.0.jar(即您编写命令在终端上运行它)时,实际上是在live cluster(hadoop)上运行mapreduce。为此,需要启动并运行hadoop集群。
3条答案
按热度按时间9o685dep1#
没有区别。只是当您的输入是巨大的,并且mapper/reducer在多个节点上运行时,您会看到性能的大幅提高,因为现在字计数将在不同的机器上并行完成。
i34xakig2#
当你跑的时候
WordCount
在eclipse程序中,您在本地模拟实际的行为,这将在真正的hadoop引擎上运行。它的行为就像你有一个本地集群,但它不是。当您在jar中运行它时,jar包含.class
文件,该文件向实际集群提示map和reduce应该如何工作。如果输入文件的大小是巨大的,它会被分割成多个部分,并进行相应的处理,然后将输出存储到HDFS
不仅仅是登录控制台。lf5gs5x23#
当您从eclipse运行map reduce时(即不构建.jar并通过单击run program直接运行),实际上是在伪模式下运行map reduce(主要用于测试目的)。
要以伪模式运行程序,实际上不需要安装hadoop。你只需要hadoopjar文件。
但是,当您使用hadoop-mapreduce-example-2.6.0.jar(即您编写命令在终端上运行它)时,实际上是在live cluster(hadoop)上运行mapreduce。为此,需要启动并运行hadoop集群。