本地运行PIG脚本和mapreduce之间的实际区别是什么? 我理解mapreduce模式是在安装了hdfs的集群上运行它。这是否意味着本地模式不需要HDFS,因此即使mapreduce作业也不会被触发?有什么区别,你们什么时候对方?
答案 0 :(得分:8)
本地模式将构建一个模拟的mapreduce作业,该作业运行在磁盘上的本地文件中。理论上相当于MapReduce,但它不是一个“真正的”先生。你不应该从用户的角度来区分它。
本地模式非常适合开发。
答案 1 :(得分:6)
本地模式:所有脚本都在一台机器上运行,无需Hadoop MapReduce和HDFS。这对于开发和测试Pig逻辑非常有用。如果您使用一小组数据来开发或测试代码,那么本地模式可能比通过MapReduce基础结构更快。
本地模式不需要Hadoop。在本地模式下运行时,Pig程序在本地Java虚拟机的上下文中运行,并且数据访问是通过单个机器的本地文件系统进行的。本地模式实际上是Hadoop的LocalJobRunner类中MapReduce的本地模拟。
MapReduce模式(也称为Hadoop模式):Pig在Hadoop集群上执行。在这种情况下,Pig Script将转换为一系列MapReduce作业,然后在Hadoop集群上运行。
如果您有想要执行操作的TB级数据,并且您希望以交互方式开发程序,那么很快就会发现速度变慢,您可能会开始增加存储空间。本地模式允许您以更具交互性的方式处理数据的子集,以便您可以找出Pig程序的逻辑(并计算出错误)。
根据需要设置内容并且操作顺利运行后,您可以使用MapReduce模式针对完整数据集运行脚本。