【问题标题】:Difference between PIG local and mapreduce modePIG local 和 mapreduce 模式的区别
【发布时间】:2012-07-25 01:05:17
【问题描述】:

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

【问题讨论】:

    标签: hadoop mapreduce hdfs apache-pig


    【解决方案1】:

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

    本地模式非常适合开发。

    【讨论】:

    • 需要注意的是,在本地模式下不支持计数器,但这是由于 Hadoop Map/Reduce 而不是 Pig。
    【解决方案2】:

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

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

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

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

    在您按照自己的意愿进行设置并且操作顺利运行后,您可以使用 MapReduce 模式针对完整数据集运行脚本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多