hive高级查询

-- 查询语句

SELECT 5,"student",88.5;

SELECT * FROM student;

SELECT name,id,id,name FROM student WHERE id>1002;

SELECT * FROM student limit 2;【注意:只能有一个参数】

SELECT * FROM student WHERE name rlike '(j|r).*';

SELECT sex,avg(mark) FROM score GROUP BY sex;

SELECT sex,avg(mark) avg_mark FROM score GROUP BY sex HAVING avg_mark>79;

SELECT id,name FROM (

SELECT id,name FROM (

SELECT id,name FROM student) t

) t;

-- CTE【Common Table Expression,公共表表达式】

WITH t1 AS(

SELECT id,name FROM student

),t2 AS(

SELECT id,name FROM t1

)

SELECT id,name FROM t2;

-- 准备数据

DROP TABLE IF EXISTS student;

CREATE TABLE IF NOT EXISTS student

(

id int,

name string,

gid int

)row FORMAT delimited

fields terminated BY ',';

CREATE TABLE IF NOT EXISTS grade

(

id int,

name string

)row FORMAT delimited

fields terminated BY ',';

LOAD data local inpath '/root/data/student.txt' overwrite INTO TABLE `student`;

LOAD data local inpath '/root/data/grade.txt' overwrite INTO TABLE grade;

-- 各种连接

SELECT *

FROM student,grade;

SELECT *

FROM student CROSS join grade;

SELECT *

FROM student s CROSS join grade g

WHERE s.gid=g.id;

SELECT *

FROM student s inner join grade g

on s.gid=g.id;

SELECT *

FROM student s left join grade g

on s.gid=g.id;

SELECT *

FROM grade g left join student s

on s.gid=g.id;

SELECT *

FROM grade g full join student s

on s.gid=g.id;

-- 联合

DROP TABLE t1;

CREATE TABLE t1

(

c11 int,

c12 string

)row FORMAT delimited

fields terminated BY ',';

DROP TABLE t2;

CREATE TABLE t2

(

c21 string,

c22 string

)row FORMAT delimited

fields terminated BY ',';

LOAD data local inpath '/root/data/union2.txt' overwrite INTO TABLE `t1`;

LOAD data local inpath '/root/data/union2.txt' overwrite INTO TABLE `t2`;

-- 注意,字段个数一样,字段名称一样

SELECT c11,c12 FROM t1

UNION ALL

SELECT c21 c11,c22 c12 FROM t2;

SELECT DISTINCT * FROM (

SELECT c11,c12 FROM t1

UNION ALL

SELECT c21 c11,c22 c12 FROM t2

) t;

WITH t0 AS(

SELECT c11,c12 FROM t1

UNION ALL

SELECT c21 c11,c22 c12 FROM t2

) SELECT DISTINCT * FROM t0;

WITH t0 AS(

SELECT c11,c12 FROM t1

UNION ALL

SELECT c21 c11,c22 c12 FROM t2

) SELECT c11,c12 FROM t0 GROUP BY c11,c12;

-- 插入数据

INSERT INTO TABLE t1(c11,c12) VALUES(55,66);

INSERT INTO TABLE t1 VALUES(77,88),(99,00);

INSERT OVERWRITE TABLE t1 VALUES(77,88),(99,00);

CREATE TABLE t3 LIKE t1;

INSERT INTO TABLE t3 SELECT c11,c12 FROM t1;

INSERT OVERWRITE TABLE t3 SELECT c11,c12 FROM t1;

-- 业务数据备份,表->文件【备份数据】

INSERT overwrite directory '/test/num1/num2' SELECT c11,c12 FROM t1;【hdfs自建目录】

INSERT overwrite local directory '/root/data/num1/num2' SELECT c11,c12 FROM t1;【linux自建目录】

INSERT overwrite local directory '/root/data/num1/num2'

row FORMAT delimited fields terminated BY ','

SELECT c11,c12 FROM t1;

-- 同一表多目录

FROM t1

INSERT overwrite directory '/test/num1/num2' SELECT c11,c12

INSERT overwrite local directory '/root/data/num1/num2'

row FORMAT delimited fields terminated BY ','

SELECT c11,c12;

-- 业务数据和元数据备份,表->文件【备份表】

export TABLE t1 TO '/test/num3/num4';【hdfs自建目录】

import TABLE t1 FROM '/test/num3/num4';【一次操作,不能覆盖】

-- 排序【升序asc(默认),降序desc】

SELECT * FROM score ORDER BY mark;

SELECT * FROM score ORDER BY mark desc;

CREATE TABLE sort

(

id int,

name string

)row FORMAT delimited

fields terminated BY ',';

LOAD data local inpath '/root/data/sort.txt' overwrite INTO TABLE `sort`;

SELECT * FROM sort;

set mapreduce.job.reduces = 4;

SELECT * FROM sort distribute BY id;

SELECT * FROM sort distribute BY id sort BY id;

INSERT overwrite local directory '/root/data/sort'

SELECT * FROM sort distribute BY id sort BY id;

INSERT overwrite local directory '/root/data/sort'

SELECT * FROM sort cluster BY id;

相关推荐
小羊没烦恼!3 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里3 天前
java中的继承和多态的区别
java
小羊没烦恼!3 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕3 天前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码3 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖3 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时3 天前
01-06-A-JVM排查实战详解
java·jvm
这个DBA有点耶3 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
vipxieliang3 天前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot
DBA_G3 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库