DQL,order by, sort by,distribute by,cluster by

DQL

hive> create database test5;
OK
Time taken: 0.538 seconds
hive> use test5;
OK
Time taken: 0.013 seconds
hive> create table students(
    >     id bigint comment '学生id',
    >     name string comment '学生姓名',
    >     age int comment '学生年龄',
    >     gender string comment '学生性别',
    >     clazz string comment '学生班级'
    > ) comment '学生信息表' 
    > ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
OK
Time taken: 0.184 seconds
hive> create table score(
    >     id bigint comment '学生id',
    >     score_id bigint  comment '科目id',
    >     score int comment '学生成绩'
    > ) comment '学生成绩表'  
    > ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';  
OK
Time taken: 0.034 seconds
hive> load data local inpath '/usr/local/soft/data/students.txt' into table students;
Loading data to table test5.students
Table test5.students stats: [numFiles=1, totalSize=41998]
OK
Time taken: 0.292 seconds
hive> load data local inpath '/usr/local/soft/data/score.txt' into table score;
Loading data to table test5.score
Table test5.score stats: [numFiles=1, totalSize=138538]
OK
Time taken: 0.151 seconds
hive> select * from students limit 5;
OK
1500100001	施笑槐	22	女	文科六班
1500100002	吕金鹏	24	男	文科六班
1500100003	单乐蕊	22	女	理科六班
1500100004	葛德曜	24	男	理科三班
1500100005	宣谷芹	22	女	理科五班
Time taken: 0.174 seconds, Fetched: 5 row(s)
hive> select * from score limit 5;
OK
1500100001	1000001	98
1500100001	1000002	5
1500100001	1000003	137
1500100001	1000004	29
1500100001	1000005	85
Time taken: 0.04 seconds, Fetched: 5 row(s)
hive> select * from students t1 left join score t2 on t1.id=t2.id limit 10;
Query ID = root_20220407093445_82efb254-59db-4eb2-836a-cc7700838185
Total jobs = 1
Execution log at: /tmp/root/root_20220407093445_82efb254-59db-4eb2-836a-cc7700838185.log
2022-04-07 09:34:47	Starting to launch local task to process map join;	maximum memory = 477626368
2022-04-07 09:34:47	Dump the side-table for tag: 1 with group count: 1000 into file: file:/usr/local/soft/hive-1.2.1/tmp/3d521a56-040b-4be5-a251-99b2b8d41ce1/hive_2022-04-07_09-34-45_016_9101206490953336285-1/-local-10003/HashTable-Stage-3/MapJoin-mapfile01--.hashtable
2022-04-07 09:34:47	Uploaded 1 File to: file:/usr/local/soft/hive-1.2.1/tmp/3d521a56-040b-4be5-a251-99b2b8d41ce1/hive_2022-04-07_09-34-45_016_9101206490953336285-1/-local-10003/HashTable-Stage-3/MapJoin-mapfile01--.hashtable (79072 bytes)
2022-04-07 09:34:47	End of local task; Time Taken: 0.545 sec.
Execution completed successfully
MapredLocal task succeeded
Launching Job 1 out of 1
Number of reduce tasks is set to 0 since there's no reduce operator
Starting Job = job_1649211406017_0017, Tracking URL = http://master:8088/proxy/application_1649211406017_0017/
Kill Command = /usr/local/soft/hadoop-2.7.6/bin/hadoop job  -kill job_1649211406017_0017
Hadoop job information for Stage-3: number of mappers: 1; number of reducers: 0
2022-04-07 09:34:56,900 Stage-3 map = 0%,  reduce = 0%
2022-04-07 09:35:03,084 Stage-3 map = 100%,  reduce = 0%, Cumulative CPU 1.08 sec
MapReduce Total cumulative CPU time: 1 seconds 80 msec
Ended Job = job_1649211406017_0017
MapReduce Jobs Launched: 
Stage-Stage-3: Map: 1   Cumulative CPU: 1.08 sec   HDFS Read: 11247 HDFS Write: 872 SUCCESS
Total MapReduce CPU Time Spent: 1 seconds 80 msec
OK
1500100001	施笑槐	22	女	文科六班	1500100001	1000001	98
1500100001	施笑槐	22	女	文科六班	1500100001	1000002	5
1500100001	施笑槐	22	女	文科六班	1500100001	1000003	137
1500100001	施笑槐	22	女	文科六班	1500100001	1000004	29
1500100001	施笑槐	22	女	文科六班	1500100001	1000005	85
1500100001	施笑槐	22	女	文科六班	1500100001	1000006	52
1500100002	吕金鹏	24	男	文科六班	1500100002	1000001	139
1500100002	吕金鹏	24	男	文科六班	1500100002	1000002	102
1500100002	吕金鹏	24	男	文科六班	1500100002	1000003	44
1500100002	吕金鹏	24	男	文科六班	1500100002	1000004	18
Time taken: 19.125 seconds, Fetched: 10 row(s)

order by:全局排序

 sort by:局部排序

distribute by:分区

  • cluster by

 // 等值比较 = == <=>
// 不等值比较 != <>
// 区间比较: select * from default.students where id between 1500100001 and 1500100010;
// 空值/非空值判断:is null、is not null、nvl()、isnull()
// like、rlike、regexp用法

hive> select * from students where age = 22 limit 10;
OK
1500100001	施笑槐	22	女	文科六班
1500100003	单乐蕊	22	女	理科六班
1500100005	宣谷芹	22	女	理科五班
1500100008	符半双	22	女	理科六班
1500100021	连鸿晖	22	男	理科六班
1500100024	湛慕卉	22	女	文科二班
1500100025	翁飞昂	22	男	文科四班
1500100036	阮旭炎	22	男	文科二班
1500100037	顾向松	22	女	文科一班
1500100039	窦孤风	22	女	文科六班
Time taken: 0.074 seconds, Fetched: 10 row(s)
hive> select * from students where age == 22 limit 10;
OK
1500100001	施笑槐	22	女	文科六班
1500100003	单乐蕊	22	女	理科六班
1500100005	宣谷芹	22	女	理科五班
1500100008	符半双	22	女	理科六班
1500100021	连鸿晖	22	男	理科六班
1500100024	湛慕卉	22	女	文科二班
1500100025	翁飞昂	22	男	文科四班
1500100036	阮旭炎	22	男	文科二班
1500100037	顾向松	22	女	文科一班
1500100039	窦孤风	22	女	文科六班
Time taken: 0.034 seconds, Fetched: 10 row(s)
hive> select * from students where age <=> 22 limit 10;
OK
1500100001	施笑槐	22	女	文科六班
1500100003	单乐蕊	22	女	理科六班
1500100005	宣谷芹	22	女	理科五班
1500100008	符半双	22	女	理科六班
1500100021	连鸿晖	22	男	理科六班
1500100024	湛慕卉	22	女	文科二班
1500100025	翁飞昂	22	男	文科四班
1500100036	阮旭炎	22	男	文科二班
1500100037	顾向松	22	女	文科一班
1500100039	窦孤风	22	女	文科六班
Time taken: 0.039 seconds, Fetched: 10 row(s)
hive> select * from students where age between 21 and 23 limit 10;
OK
1500100001	施笑槐	22	女	文科六班
1500100003	单乐蕊	22	女	理科六班
1500100005	宣谷芹	22	女	理科五班
1500100006	边昂雄	21	男	理科二班
1500100007	尚孤风	23	女	文科六班
1500100008	符半双	22	女	理科六班
1500100009	沈德昌	21	男	理科一班
1500100010	羿彦昌	23	男	理科六班
1500100011	宰运华	21	男	理科三班
1500100012	梁易槐	21	女	理科一班
Time taken: 0.038 seconds, Fetched: 10 row(s)
hive> select if(1 is null,null,'ok');
OK
ok
Time taken: 0.457 seconds, Fetched: 1 row(s)
hive> select nvl(null,'n');
OK
n
Time taken: 0.429 seconds, Fetched: 1 row(s)
hive> select isnull(123);
OK
false
Time taken: 0.031 seconds, Fetched: 1 row(s)
hive> select * from students where clazz like '文科%' limit 10;
OK
1500100001	施笑槐	22	女	文科六班
1500100002	吕金鹏	24	男	文科六班
1500100007	尚孤风	23	女	文科六班
1500100013	逯君昊	24	男	文科二班
1500100016	潘访烟	23	女	文科一班
1500100018	骆怜雪	21	女	文科六班
1500100022	薄运珧	23	男	文科四班
1500100024	湛慕卉	22	女	文科二班
1500100025	翁飞昂	22	男	文科四班
1500100027	路辰锟	21	男	文科四班
Time taken: 0.033 seconds, Fetched: 10 row(s)
hive> select * from students where clazz rlike '文科.*' limit 10;
OK
1500100001	施笑槐	22	女	文科六班
1500100002	吕金鹏	24	男	文科六班
1500100007	尚孤风	23	女	文科六班
1500100013	逯君昊	24	男	文科二班
1500100016	潘访烟	23	女	文科一班
1500100018	骆怜雪	21	女	文科六班
1500100022	薄运珧	23	男	文科四班
1500100024	湛慕卉	22	女	文科二班
1500100025	翁飞昂	22	男	文科四班
1500100027	路辰锟	21	男	文科四班
Time taken: 0.031 seconds, Fetched: 10 row(s)
hive> select * from students where clazz regexp '文科.*' limit 10; 
OK
1500100001	施笑槐	22	女	文科六班
1500100002	吕金鹏	24	男	文科六班
1500100007	尚孤风	23	女	文科六班
1500100013	逯君昊	24	男	文科二班
1500100016	潘访烟	23	女	文科一班
1500100018	骆怜雪	21	女	文科六班
1500100022	薄运珧	23	男	文科四班
1500100024	湛慕卉	22	女	文科二班
1500100025	翁飞昂	22	男	文科四班
1500100027	路辰锟	21	男	文科四班
Time taken: 0.026 seconds, Fetched: 10 row(s)

取整函数(四舍五入):round
向上取整:ceil
向下取整:floor

hive> select round(1.234,2);
OK
1.23
Time taken: 0.444 seconds, Fetched: 1 row(s)
hive> select floor(3.45);
OK
3
Time taken: 0.437 seconds, Fetched: 1 row(s)
hive> select ceil(1.23);
OK
2
Time taken: 0.429 seconds, Fetched: 1 row(s)
hive> select ceil(1.0000);
OK
1
Time taken: 0.428 seconds, Fetched: 1 row(s)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值