3

ハイブでORDERBYを使用することにより、単一のレデューサーのみを使用します。したがって、ORDERBYは非効率的です。ORDERBYに利用できる代替ソリューションはありますか。

よろしく、ラット

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 はすべてのデータを一緒に並べ替えるため、1 つのレデューサーを通過する必要があります。

于 2013-09-11T17:25:41.883 に答える
0

SORT BYでうまくいくはずです。これにより、各レデューサー内のデータが並べ替えられるため、特定のキーの値は順序どおりになりますが、キーが順序どおりであるとは限りません。SORT BY には任意の数のレデューサーを使用できます。

于 2012-05-29T14:18:35.740 に答える