8

在本地和在 mapreduce 上运行 PIG 脚本之间的实际区别是什么?我了解 mapreduce 模式是当您在安装了 hdfs 的集群上运行它时。这是否意味着本地模式不需要 HDFS,因此即使 mapreduce 作业也不会被触发?有什么区别,你什么时候做另一个?

4

2 回答 2

9

本地模式将构建一个模拟 mapreduce 作业,从磁盘上的本地文件运行。理论上相当于 MapReduce,但它不是“真正的”mr 工作。您不应该从用户的角度来区分。

本地模式非常适合开发。

于 2012-07-26T16:30:41.067 回答
5

本地模式:所有脚本都在一台机器上运行,不需要 Hadoop MapReduce 和 HDFS。这对于开发和测试 Pig 逻辑很有用。如果您使用一小组数据来开发或测试您的代码,那么本地模式可能比通过 MapReduce 基础架构更快。

本地模式不需要 Hadoop。在本地模式下运行时,Pig 程序在本地 Java 虚拟机的上下文中运行,数据访问是通过单台机器的本地文件系统进行的。本地模式实际上是对 Hadoop 的 LocalJobRunner 类中 MapReduce 的本地模拟。

MapReduce 模式(也称为 Hadoop 模式):Pig 在 Hadoop 集群上执行。在这种情况下,Pig 脚本被转换为一系列 MapReduce 作业,然后在 Hadoop 集群上运行。 猪的本地和分布式模式

如果您有 1 TB 的数据要对其执行操作并且想要交互式地开发程序,您可能很快就会发现速度大大降低,并且您可能会开始增加存储空间。本地模式允许您以更具交互性的方式处理数据子集,以便您可以找出 Pig 程序的逻辑(并解决错误)。

在您根据需要进行设置并且您的操作运行顺利之后,您可以使用 MapReduce 模式针对完整数据集运行脚本。

于 2015-03-23T20:55:29.720 回答