pig local和mapreduce模式的区别

xam8gpfp  于 2021-06-24  发布在  Pig
关注(0)|答案(2)|浏览(363)

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

lymgl2op

lymgl2op1#

本地模式:所有脚本都在一台机器上运行,不需要hadoopmapreduce和hdfs。这对于开发和测试pig逻辑非常有用。如果您使用一小部分数据来开发或测试代码,那么本地模式可能比使用mapreduce基础设施更快。
本地模式不需要hadoop。在本地模式下运行时,pig程序在本地java虚拟机的上下文中运行,数据访问是通过单个机器的本地文件系统进行的。本地模式实际上是hadoop的localjobrunner类中mapreduce的本地模拟。
mapreduce模式(也称为hadoop模式):pig在hadoop集群上执行。在本例中,pig脚本被转换成一系列mapreduce作业,然后在hadoop集群上运行。

如果您有一TB的数据要对其执行操作,并且希望以交互方式开发一个程序,您可能很快就会发现速度大大减慢,并且您可能会开始增加存储容量。本地模式允许您以更具交互性的方式处理数据的一个子集,这样您就可以了解pig程序的逻辑(并找出bug)。
当您按照您的需要设置了一些东西并且操作顺利运行之后,您就可以使用mapreduce模式对完整的数据集运行脚本。

jhiyze9q

jhiyze9q2#

本地模式将构建一个模拟的mapreduce作业,该作业运行于磁盘上的本地文件。理论上相当于mapreduce,但它不是一个“真正的”mr工作。你不应该从用户的Angular 来区分两者的区别。
地方模式很适合发展。

相关问题