4つのソートハイブがあります。
1、世界の秩序:ORDER BY
2、内部ソート:ソート
3、パーティション並び替え:によって配布
4、ソートの組み合わせ:によってクラスタ
(グローバル順序)によって順
説明:グローバル・ソートは、ソートの中のMapReduceです。
パラメータ:
ASC:昇順は意味とmysqlの、だけでなく、デフォルトのパラメータと同じです。
DESC:同じMySQLの順番と意味を降順。
例:クエリ生徒の情報や性能レベルによってソート
選択 * からスコアによってstudent_score_info順
注:いないデータベースを使用すべき場合には、この操作上、実際の作業は、注意して使用するが、現在のハイブとしてデータウェアハウスソフト例えば、データウェアハウスの実行中のデータの量が非常に大きい動作場合には使用されていますグローバルソートは厳しく資源を枯渇します
並べ替え(内部ソート)
説明:各マップリデュースの内部ソート、グローバルな結果セットがソートされていません。
キーワード:並べ替え
ステップ:
設定の数の削減: SETの mapreduce.job.reduce = 。3。
声明:
選択 * からスコアによってstudent_score_infoソート
注意:直接配列決定の結果を見ることができない、見るために地元の効果にデータをエクスポートする必要があります
(パーティションの順序)で配布
注意:通常、キーワードで一緒のソートでパーティション内の使用と同様のMR、時間のパーティションを、。
キーワード:で配布
例:従業員番号でソート部門番号のパーティションによって最初に、。
数を減らすために設定されなければならない(複数の)1ない SET mapreduce.job.reduce = 2
声明:
nsertローカルディレクトリを上書きする「/データ/ソート/ EMP2は」 選択 * から EMPNO DESCにより、DEPTNO一種で配布EMP;
注:文で配布することによりソートする前に書かなければなりません。テストで配布することは減らすために多くの時間を与えられたか、他分割する方法はありませんする必要があります。
(ソートの組み合わせ)によって、クラスタ
説明:同じフィールドでによると、ソート配布する場合、彼らはキーワードでクラスタを使用することができます。
キーワード:クラスタによって、
例:
上書きローカルディレクトリに挿入「/データ/ソート/ emp4を」 選択 * から DEPTNOでEMPクラスタ。
注意:パーティションをソートすることができますが、唯一の欠点は、フィールドの使用である。あなたは、デフォルトで降順ASCまたはDESCを指定することはできません。