Pig 在本地模式与 mapreduce 模式下的性能

Posted

技术标签:

【中文标题】Pig 在本地模式与 mapreduce 模式下的性能【英文标题】:Performance of Pig in local mode vs mapreduce mode 【发布时间】:2019-12-22 17:31:23 【问题描述】:

我有一个 Hadoop 集群,有 3 个节点和 12 GB 的数据/1.5 条中间记录。我知道 Pig 可以在本地模式(用于开发目的)和 mapreduce 模式下运行。

对于一个小型研究项目,我正在比较在本地和 mapreduce 模式下运行 Pig 的处理时间。 在进行性能测量时,本地模式下的处理时间比 mapreduce 模式下要快得多。 (我的代码包括使用带有模式的 JsonLoader 加载数据文件、过滤和转储结果。)

当 map reduce 模式比本地模式快时,是否有经验法则?

谢谢!

【问题讨论】:

【参考方案1】:

尚不清楚您如何调整 YARN 集群以适应您的工作负载,或者您正在阅读的文件实际有多大。

一般来说,假设 Pig 可以自己进行多处理,12 GB 的数据不足以保证使用 Hadoop/Mapreduce。

但是,如果文件在数据节点之间拆分,并且您已为这 3 台机器中的每台分配了足够的资源,那么作业应该比仅一台机器更快地完成。

您甚至可以通过在 Tez 或 Spark 引擎上使用 Pig 来进一步增强运行时。

【讨论】:

以上是关于Pig 在本地模式与 mapreduce 模式下的性能的主要内容,如果未能解决你的问题,请参考以下文章

pig的各种运行模式与运行方式详解

Pig 不在 mapreduce 模式下工作

Pig local vs mapreduce 模型性能对比

在 CDH4 集群上运行 Pig 时无法进入 mapreduce 模式(Hadoop 2 + MapReduce v1)

pig安装配置

pig - 包含多个 jar 的注册目录