学习Hive(四)Hive视图、索引、运行方式、GUI接口、权限管理

一、Hive Lateral view:使用虚拟表的概念。但并非是真正的视图。

1.1、与UDTF函数(split、explode)联合使用。

1.2、首先通过UDTF函数将数据拆分成多行,再将多行结果组成一个虚拟表(支持别名)。

1.3 主要场景:Hive在使用UDTF函数时,查询只能包含一个UDTF,不能包含其他字段,不能多个UDTF联合使用。错误例子:

1.4 使用语句:

select count(distinct(myTable1.myClo1)),count(distinct(mytable2.myClo2)) from psn 
lateral view explode(likes) myTable1 AS myClo1
lateral view explode(address) mytable2 AS myClo2,myClo3;

二、Hive视图。

2.1,创建视图: create view v_psn as select * from psn;

         查看视图:show tables;创建视图后mysql中查看hive元数据信息:

        

2.2 Hive 不支持物化视图。Hive视图只能查询,不能加载数据。

2.3 view 中定义了order by/limit语句,使用view查询时也用了order by/limit语句。view中定义的优先执行。

  创建:create view v1_psn as select * from psn order by id;

使用:select * from  v1_psn order by id desc limit 3;

效果,结论:view中的先执行。

2.4 支持迭代视图。

2.5 视图创建只是建立一份元数据。查询视图时再执行响应子查询。

2.6 删除视图:drop view v_psn;

三、Hive索引。

3.1:创建索引。最下面的in_psn_table 是存储索引的偏移量与数据的。也可不指定,会自动创建

create index in_psn on table psn(name)
as

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值