3

通过在 hive 中使用 ORDER BY,它只使用单个 reducer。所以 ORDER BY 是低效的。是否有可用于 ORDER BY 的替代解决方案。

问候, 拉托

4

2 回答 2

4

您可能希望使用 DISTRIBUTE BY 和 SORT BY 的组合。DISTRIBUTE BY 将确保具有特定值的所有键最终都在同一个数据节点上。SORT BY 然后将对每个节点上的数据进行排序。

例如:

SELECT a, b, c 
FROM table
DISTRIBUTE by a
SORT BY a, b

ORDER BY 会将所有数据排序在一起,这就是它必须通过一个 reducer 的原因。

于 2013-09-11T17:25:41.883 回答
0

SORT BY应该可以解决问题。这将对每个 reducer 中的数据进行排序,因此给定键的值将按顺序排列,但不能保证键按顺序排列。您可以为 SORT BY 使用任意数量的减速器。

于 2012-05-29T14:18:35.740 回答