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;

相关推荐
Allen Bright18 分钟前
【Java基础-46.3】Java泛型通配符详解:解锁类型安全的灵活编程
java·开发语言
柃歌21 分钟前
【UCB CS 61B SP24】Lecture 7 - Lists 4: Arrays and Lists学习笔记
java·数据结构·笔记·学习·算法
柃歌31 分钟前
【UCB CS 61B SP24】Lecture 4 - Lists 2: SLLists学习笔记
java·数据结构·笔记·学习·算法
是姜姜啊!43 分钟前
redis的应用,缓存,分布式锁
java·redis·spring
梨落秋溪、1 小时前
输入框元素覆盖冲突
java·服务器·前端
hrrrrb1 小时前
【Java】Java 常用核心类篇 —— 时间-日期API(上)
java·开发语言
小突突突1 小时前
模拟实现Java中的计时器
java·开发语言·后端·java-ee
七禾页话1 小时前
垃圾回收知识点
java·开发语言·jvm
库库林_沙琪马1 小时前
Redis 缓存穿透、击穿、雪崩:问题与解决方案
数据库·redis·缓存
创创ccccc1 小时前
第二章 代码生成
java