【问题标题】:Hive vs Pig when performing Joins执行联接时 Hive 与 Pig
【发布时间】:2013-03-09 23:10:52
【问题描述】:

我有一些脚本可以处理我网站的日志。我已将此数据加载到 Hive 中的多个表中。我每天都会运行这些脚本来分析流量。

最近我发现我在这些脚本中编写的配置单元查询花费了太多时间。以前,生成报告需要大约 10-15 分钟,但现在需要数小时才能完成。

我对数据进行了分析,数据集增加了大约 5-10%。

我的一个朋友建议我,在加入多个 hive 表时 Hive 不好,我应该将我的脚本切换到 Pig。与 Pig 相比,Hive 不擅长加入表吗?

【问题讨论】:

  • 我想试试吧。我对 Pig 的体验比 Hive 更好。

标签: hadoop hive apache-pig piglet


【解决方案1】:
Is Hive bad at joining tables

没有。 Hive 实际上相当不错,但有时需要花点时间使用查询优化器。

根据您使用的 Hive 版本,您可能需要在查询中提供提示,以告知优化器使用特定算法连接数据。您可以找到有关不同提示的一些详细信息here

如果您正在考虑使用 Pig,我认为您的选择不应仅出于性能考虑。根据我的经验,使用 Pig 没有可量化的收益,过去几年我都使用过,而且在性能方面没有明显的赢家。

然而,在定义要使用的连接类型而不是依赖于一些(有时是晦涩的)优化器提示时,Pig 为您提供了更高的透明度。

最后,Pig 或 Hive 并不重要,它只取决于决定如何优化您的查询。如果您正在考虑切换到 Pig,我将首先真正分析您在处理方面的需求是什么,因为您甚至可能会在性能方面下降。如果您想比较两者,Here 是一个很好的帖子。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-25
    • 2011-04-17
    • 1970-01-01
    • 2015-05-06
    • 2016-10-18
    • 1970-01-01
    • 2012-12-04
    相关资源
    最近更新 更多