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;

相关推荐
鼠鼠我捏,要死了捏11 分钟前
生产环境MongoDB分片策略优化与故障排查实战经验分享
数据库·mongodb·分片
寒士obj12 分钟前
Spring容器Bean的创建流程
java·后端·spring
掉鱼的猫24 分钟前
Spring AOP 与 Solon AOP 有什么区别?
java·spring
不是光头 强37 分钟前
axure chrome 浏览器插件的使用
java·chrome
KaiwuDB1 小时前
KWDB 分布式架构探究——数据分布与特性
数据库·分布式
笨蛋不要掉眼泪1 小时前
Spring Boot集成腾讯云人脸识别实现智能小区门禁系统
java·数据库·spring boot
桃源学社(接毕设)1 小时前
云计算下数据隐私保护系统的设计与实现(LW+源码+讲解+部署)
java·云计算·毕业设计·swing·隐私保护
用户0332126663671 小时前
Java 将 Excel 转换为 HTML:解锁数据在线展示的无限可能
java·excel
字节跳跃者2 小时前
SpringBoot + MinIO + kkFile 实现文件预览,这样操作更安全!
java·后端·程序员
天天摸鱼的java工程师2 小时前
OpenFeign 首次调用卡 3 秒?八年老开发扒透 5 个坑,实战优化到 100ms
java·后端·面试