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)