(1)功能
根據指定字段進行全域性排序,和關係型資料庫的用法一樣,會生成乙個reducetask,預設是公升序。實際中用的比較多
(2)例子
--公升序
select * from emp order by sal;
--降序
select * from emp order by sal desc;
--多列排序
select ename, deptno, sal from emp order by deptno, sal;
(1)功能
根據mapreduce.job.reduces的值,生成指定數量的reducetask,對其進行排序,不是全域性排序。
(2)例子
--設定reduce個數,生成5個reduce
set mapreduce.job.reduces = 5;
--根據部門編號降序檢視員工資訊
select * from emp sort by empno desc;
--將查詢結果匯入到檔案中(根據部門編號降序排序)
insert overwrite local directory '/test/sort'
select * from emp sort by deptno desc;
(1)功能
進行分割槽,類似於mapreduce的partition,可以結合sort by使用,distribute by語句要寫在sort by語句之前。測試的時候需要指定reduce數量
(2)例子
--設定reduce個數
set mapreduce.job.reduces = 5;
--根據部門分割槽,根據員工排序。匯入到檔案中
insert overwrite local directory '/test/distribute'
select * from emp distribute by deptno sort by empno desc;
(1)功能
當distribute by和sorts by欄位相同時,可以使用cluster by方式,預設是只有公升序
(2)例子
select * from emp cluster by deptno;
Hive 四種排序方式
hive中4種排序的區別 共有四種排序 order by,sort by distribute by,cluster by order by 全域性排序 對輸入的資料做排序,故此只有乙個reducer 多個reducer無法保證全域性有序 只有乙個reducer,會導致當輸入規模較大時,需要較長的計...
Hive 中的四種排序
1 order by 可以指定desc 降序 asc 公升序 order by會對輸入做全域性排序,因此只有乙個reducer 多個reducer無法保證全域性有序 然而只有乙個reducer,會導致當輸入規模較大時,消耗較長的計算時間。create table temperature year i...
hive的四種排序比較
hive 的四種排序對比 order by 會對輸入做全域性排序 因此只有乙個reducer 多個reducer無法保證全域性有序 只有乙個reducer,會導致當輸入規模較大時,需要較長的計算時間 在order by 狀態下所有資料會到一台伺服器進行reduce操作也即只有乙個reduce,如果在...