我有一些脚本来处理我的网站日志。我已经将这些数据加载到Hive中的多个表中。我每天运行这些脚本来分析流量。
最近,我发现我在这些脚本中编写的蜂巢查询花费了太多的时间。早些时候,生成报告通常需要10到15分钟,但现在也要花上几个小时。
我对数据进行了分析,数据集大约增长了5-10% .
我的一个朋友建议我,当涉及到加入多个蜂箱表时,Hive是不好的,我应该将我的脚本转换为Pig。与猪相比,蜂巢在加入餐桌方面有问题吗?
发布于 2013-01-10 22:05:40
Is Hive bad at joining tables
不是的。Hive实际上相当不错,但有时需要使用查询优化器。
根据您使用的Hive版本,您可能需要在查询中提供提示,以便告诉优化器使用特定的算法加入数据。您可以找到关于不同提示的一些细节,这里。
如果你想使用猪,我认为你的选择不应该仅仅出于性能考虑。在我的经验中,使用猪没有任何可量化的收益,在过去的几年里,我使用了这两种方法,就性能而言,没有明显的赢家。
然而,Pig给您的是在定义您想要使用的连接类型时更加透明,而不是依赖于某些(有时是模糊的)优化器提示。
最后,Pig或Hive并不重要,它只是取决于您如何决定优化您的查询。如果您正在考虑切换到Pig,我将首先真正分析您在处理方面的需求,因为您可能会在性能方面下降。这里是一个很好的帖子,如果你想比较2。
https://stackoverflow.com/questions/14260556
复制相似问题