<Zhuuu_ZZ>HIVE(四)视图&侧视图

一.Hive高阶建表

如需要hive高阶建表资料的小伙伴们请点击下方链接
链接: HIVE高阶.

二.Hive视图

1. 视图概述

  • 通过隐藏子查询、连接和函数来简化查询的逻辑结构
  • 虚拟表,从真实表中选取数据
  • 只保存定义,不存储数据
  • 如果删除或更改基础表,则查询视图将失败
  • 视图是只读的,不能插入或装载数据

2. 应用场景

  • 将特定的列提供给用户,保护数据隐私
  • 查询语句复杂的场景

3.Hive视图操作命令

  • 视图操作命令:CREATE、SHOW、DROP、ALTER
CREATE VIEW view_name AS SELECT statement; -- 创建视图
	-- 创建视图支持 CTE, ORDER BY, LIMIT, JOIN, etc.
SHOW TABLES; -- 查找视图 (SHOW VIEWS 在 hive v2.2.0之后)
SHOW CREATE TABLE view_name; -- 查看视图定义
DROP view_name; -- 删除视图
ALTER VIEW view_name SET TBLPROPERTIES ('comment' = 'This is a view');
--更改视图属性
ALTER VIEW view_name AS SELECT statement; -- 更改视图定义, 
  • 模拟面试:如何知道查询的是表还是视图?
    • show create table 表名;

4.Hive视图操作实例

select distinct name,address[0],info.age from employee_partition e 
join a_p a on a.test=e.add;

create view v_e_p as select distinct name,address[0],info.age 
from employee_partition e join a_p a on a.test=e.add;

在这里插入图片描述

  • 删除其基础表的分区
    在这里插入图片描述
  • 再查询视图,发现视图里什么都没有了
    在这里插入图片描述

三.Hive侧视图

  • 常与表生成函数结合使用,将函数的输入和输出连接
  • OUTER关键字:即使output为空也会生成结果
select name,work_place,loc from employee lateral view outer explode(split(null,',')) a as loc;
  • 支持多层级
select name,wps,skill,score from employee 
lateral view explode(work_place) work_place_single as wps
lateral view explode(skills_score) sks as skill,score;
  • 通常用于规范化行或解析JSON

用侧视图完成wordcount

create external table wctest(line string) 
stored as textfile location '/wctest';

hdfs dfs -put /root/a.txt /wctest

select word,count(word) from wctest
lateral view explode(split(line,' ')) a as word group by word;

在这里插入图片描述

四.Hive高级查询

对Hive高级查询知识点感兴趣的小伙伴请移步
链接: Hive(五)高级查询.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值