hive在查詢中的過濾和排序

2021-08-21 13:35:38 字數 1188 閱讀 5434

hive在查詢中的過濾

explain select * from emp where deptno = 10 and sal < 2000;  --顯示具體過程

--查詢10號部門的員工

select * from emp where deptno = 10;

--查詢名叫king的員工

select * from emp where ename = 『king』;   ---注意名字的大小寫

--查詢部門10號、薪水小於2000的員工

select * from emp where deptno = 10 and sal < 2000;

--模糊查詢:查詢名字以s開頭的員工

select * from emp where ename like 's%';

--模糊查詢:查詢名字以_(下劃線))的員工

select * from emp where ename like '%_%';   ---錯誤

select * from emp where ename like '%\\_%';   

---------------------hive在查詢中的排序

--查詢員工資訊:員工號、姓名、姓名、月薪,按照月薪排序

select empno,ename,sal from emp order by sal desc|asc;    ---列名

---order by 後面可以跟:列名,表示式,別名,序號

select empno,ename,sal * 12 from emp order by sal * 12 desc|asc;    ---表示式

select empno,ename,sal * 12 as year_sal from emp order by year_sal desc|asc;    ---別名

set hive.groupby.orderby.position.alias=true              ----序號設定

select empno,ename,sal * 12 from emp order by 4;    ---序號

---查詢員資訊:按照獎金排序

select empno,ename,sal,comm from emp order by comm desc;

---null 排序:公升序:最前面; 

降序:最後面

Hive在查詢中使用過濾

一 查詢語法 二 查詢時使用過濾的例項 1 查詢10號部門的員工 select from emp where deptno 10 hive select from emp where deptno 10 ok1001.0 tome null 5000.0 10.0 1002.0 tome null ...

hive查詢中的排序總結

四個排序總結 order by 全域性排序 reduce啟動個數為乙個 sort by 區內排序和distrbute by 結合使用 reduce個數為多個 distribute by 同上reduce個數為多個 cluster by 當distribute by 和 sort by相同時 使用。r...

hive中的排序和分組

order by order by 會對輸入坐全域性排序,因此 只有乙個reducer 多個reducer會無法保證全域性有序 只有乙個reducer,會導致當輸入規模較大時,需要較長的計算時間.set hive.mapred.mode nonstrict default value 預設值 set...