gpt4 book ai didi

hadoop - 性能 : Pig vs Hive

转载 作者:可可西里 更新时间:2023-11-01 14:31:56 27 4
gpt4 key购买 nike

我发现 Pig 和 Hive 之间存在一些(显着的)性能差异(在实时运行时和 CPU 时间方面),并且正在寻找找出这些差异根源的方法。我使用了这两种语言的解释功能(即 Hive:EXPLAIN 关键字,Pig:pig -e 'explain -script explain.pig')来对比和比较生成的语法树、逻辑、物理和 map-reduce 计划。然而,两者似乎都做同样的事情。然而,作业跟踪器显示启动的 map 和 reduce 任务数量存在差异(因此我确保两者使用相同数量的 map 和 reduce 任务并且性能差异仍然存在)。因此,我的问题是:我可以通过哪些其他方式分析正在发生的事情(可能在较低级别/字节码级别)?

编辑:我正在运行 TPC 的 TPC-H 基准测试(可用 https://issues.apache.org/jira/browse/PIG-2397https://issues.apache.org/jira/browse/HIVE-600)。然而,即使是更简单的脚本也会显示出相当大的性能差异。例如:

SELECT (dataset.age * dataset.gpa + 3) AS F1,
(dataset.age/dataset.gpa - 1.5) AS F2
FROM dataset
WHERE dataset.gpa > 0;

我仍然需要全面评估 TPC-H 基准测试(稍后更新),但是本文档中详细介绍了更简单脚本的结果:https://www.dropbox.com/s/16u3kx852nu6waw/output.pdf

(jpg:http://i.imgur.com/1j1rCWS.jpg)

最佳答案

之前看过一些Pig和Hive的源码。我可以分享一些意见。

由于我主要关注 Join 实现,这里我可以提供 Pig 和 Hive 的 Join 实现的一些细节。 Hive 的 Join 实现比 Pig 效率低。我不知道为什么 Hive 需要在 Join 实现中创建这么多对象(这样的操作非常慢,应该避免)。我认为这就是 Hive 加入速度比 Pig 慢的原因。有兴趣的可以查看CommonJoinOperator自己编码。所以我猜 Pig 通常更高效,因为它的高质量代码。

关于hadoop - 性能 : Pig vs Hive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17422005/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com