寻找hive视图
如何hive视图
1.mysql数据库
[centos@s201 ~]$ mysql -uroot -proot mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| azkaban |
| big12 |
| hive |
| mysql |
| performance_schema |
+--------------------+
6 rows in set (0.05 sec)
2.找hive库
show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| azkaban |
| big12 |
| hive |
| mysql |
| performance_schema |
+--------------------+ mysql> use hive;
3.观表
show tables;
+---------------------------+
| Tables_in_hive |
+---------------------------+
| AUX_TABLE |
| BUCKETING_COLS |
| CDS |
| COLUMNS_V2 |
| COMPACTION_QUEUE |
| COMPLETED_COMPACTIONS |
| COMPLETED_TXN_COMPONENTS |
| DATABASE_PARAMS |
| DBS |
| DB_PRIVS |
| DELEGATION_TOKENS |
| FUNCS |
| FUNC_RU |
| GLOBAL_PRIVS |
| HIVE_LOCKS |
| IDXS |
| INDEX_PARAMS |
| KEY_CONSTRAINTS |
| MASTER_KEYS |
| NEXT_COMPACTION_QUEUE_ID |
| NEXT_LOCK_ID |
| NEXT_TXN_ID |
| NOTIFICATION_LOG |
| NOTIFICATION_SEQUENCE |
| NUCLEUS_TABLES |
| PARTITIONS |
| PARTITION_EVENTS |
| PARTITION_KEYS |
| PARTITION_KEY_VALS |
| PARTITION_PARAMS |
| PART_COL_PRIVS |
| PART_COL_STATS |
| PART_PRIVS |
| ROLES |
| ROLE_MAP |
| SDS |
| SD_PARAMS |
| SEQUENCE_TABLE |
| SERDES |
| SERDE_PARAMS |
| SKEWED_COL_NAMES |
| SKEWED_COL_VALUE_LOC_MAP |
| SKEWED_STRING_LIST |
| SKEWED_STRING_LIST_VALUES |
| SKEWED_VALUES |
| SORT_COLS |
| TABLE_PARAMS |
| TAB_COL_STATS |
| TBLS |
| TBL_COL_PRIVS |
| TBL_PRIVS |
| TXNS |
| TXN_COMPONENTS |
| TYPES |
| TYPE_FIELDS |
| VERSION |
| WRITE_SET |
+---------------------------+
4.TBLS表结构
mysql> desc TBLS;
+--------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+--------------+------+-----+---------+-------+
| TBL_ID | bigint(20) | NO | PRI | NULL | |
| CREATE_TIME | int(11) | NO | | NULL | |
| DB_ID | bigint(20) | YES | MUL | NULL | |
| LAST_ACCESS_TIME | int(11) | NO | | NULL | |
| OWNER | varchar(767) | YES | | NULL | |
| RETENTION | int(11) | NO | | NULL | |
| SD_ID | bigint(20) | YES | MUL | NULL | |
| TBL_NAME | varchar(128) | YES | MUL | NULL | |
| TBL_TYPE | varchar(128) | YES | | NULL | |
| VIEW_EXPANDED_TEXT | mediumtext | YES | | NULL | |
| VIEW_ORIGINAL_TEXT | mediumtext | YES | | NULL | |
+--------------------+--------------+------+-----+---------+-------+
5.根据TBL_TYPE找到视图
mysql> select * from TBLS where tbl_type='VIRTUAL_VIEW';
+--------+-------------+-------+------------------+--------+-----------+-------+----------+--------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| TBL_ID | CREATE_TIME | DB_ID | LAST_ACCESS_TIME | OWNER | RETENTION | SD_ID | TBL_NAME | TBL_TYPE | VIEW_EXPANDED_TEXT | VIEW_ORIGINAL_TEXT |
+--------+-------------+-------+------------------+--------+-----------+-------+----------+--------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 187 | 1544269997 | 6 | 0 | centos | 0 | 222 | a | VIRTUAL_VIEW | select `a`.`id`, `a`.`tag`, count(*) as `count` from (select `temptags`.`id`, `xx`.`tag` from `big12`.`temptags` lateral view explode(`parsejson`(`temptags`.`json`)) `xx` as `tag`) `a` group by `a`.`id`, `a`.`tag` | select id, tag, count(*) as count from (select id, tag from temptags lateral view explode(parsejson(json)) xx as tag) a group by id, tag |
| 193 | 1544336757 | 6 | 0 | centos | 0 | 229 | a1 | VIRTUAL_VIEW | select `logevent`.`deviceid`, `logevent`.`musicid`, sum(cast(`logevent`.`mark` as int)) as `sum` from `big12`.`logevent` where `logevent`.`musicid` is not null group by `logevent`.`deviceid`, `logevent`.`musicid` | select deviceid, musicid, sum(cast(mark as int)) as sum from logevent where musicId is not null group by deviceid, musicid |
| 194 | 1544336831 | 6 | 0 | centos | 0 | 230 | a2 | VIRTUAL_VIEW | select
`a1`.`deviceid` ,
`a1`.`musicid`,
`a1`.`sum`,
max(`a1`.`sum`)over(partition by `a1`.`deviceid`) as `sum2`
from `big12`.`a1` | select
deviceid ,
musicid,
sum,
max(sum)over(partition by deviceid) as sum2
from a1 |
| 227 | 1550817816 | 6 | 0 | centos | 0 | 262 | zz1 | VIRTUAL_VIEW | select `duowan_parquet`.`id`, `duowan_parquet`.`name`, `duowan_parquet`.`pass`, `duowan_parquet`.`email`, `duowan_parquet`.`nickname` from `big12`.`duowan_parquet` where substring(`duowan_parquet`.`id`,1,1) in (1,2,3,4,5,6,8,9,0) | select * from duowan_parquet where substring(id,1,1) in (1,2,3,4,5,6,8,9,0) |
+--------+-------------+-------+------------------+--------+-----------+-------+----------+--------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
6.查看存储库信息的DBS表
mysql> desc DBS;
+-----------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+---------------+------+-----+---------+-------+
| DB_ID | bigint(20) | NO | PRI | NULL | |
| DESC | varchar(4000) | YES | | NULL | |
| DB_LOCATION_URI | varchar(4000) | NO | | NULL | |
| NAME | varchar(128) | YES | UNI | NULL | |
| OWNER_NAME | varchar(128) | YES | | NULL | |
| OWNER_TYPE | varchar(10) | YES | | NULL | |
+-----------------+---------------+------+-----+---------+-------+
select * from DBS limit 10;
+-------+-----------------------+------------------------------------------------+-------------+------------+------------+
| DB_ID | DESC | DB_LOCATION_URI | NAME | OWNER_NAME | OWNER_TYPE |
+-------+-----------------------+------------------------------------------------+-------------+------------+------------+
| 1 | Default Hive database | hdfs://s201/user/hive/warehouse | default | public | ROLE |
| 6 | NULL | hdfs://s201/user/hive/warehouse/big12.db | big12 | centos | USER |
| 11 | NULL | hdfs://s201/user/hive/warehouse/music164.db | music164 | centos | USER |
| 16 | NULL | hdfs://s201/user/hive/warehouse/big12_umeng.db | big12_umeng | centos | USER |
| 21 | NULL | hdfs://s201/user/hive/warehouse/big12_2.db | big12_2 | centos | USER |
| 26 | NULL | hdfs://s201/user/hive/warehouse/iml.db | iml | centos | USER |
| 31 | NULL | hdfs://s201/user/hive/warehouse/wqbin.db | wqbin | centos | USER |
+-------+-----------------------+------------------------------------------------+-------------+------------+------------+
7.如何删除视图跑路的脚本如下
7.1连接mysql
import pymysql conn = pymysql.connect(host='192.168.154.201', user='root', passwd='root', db='hive')
cur = conn.cursor() # 查询
sql = "select NAME,TBL_NAME from TBLS a join DBS b on a.DB_ID=b.DB_ID "
reCount = cur.execute(sql) # 返回受影响的行数
print(reCount)
data = cur.fetchall() # 返回数据,返回的是tuple类型
print(data) cur.close()
conn.close()
(('big12', 'a'), ('big12', 'a1'), ('big12', 'a2'), ('big12', 'zz1'))
7.2删除hive视图
使用pyhive连接hive删除所有视图
import pymysql
conn = pymysql.connect(host='192.168.154.201', user='root', passwd='root', db='hive')
cur = conn.cursor()
# 查询
sql = "select NAME,TBL_NAME from TBLS a join DBS b on a.DB_ID=b.DB_ID where a.TBL_TYPE='VIRTUAL_VIEW'"
reCount = cur.execute(sql) # 返回受影响的行数
data = cur.fetchall() # 返回数据,返回的是tuple类型
print(data)
cur.close()
conn.close() from pyhive import hive
import thrift
import sasl
import thrift_sasl
conn = hive.Connection(host='192.168.154.201', port=10000, database='big12',auth='NOSASL')
cursor=conn.cursor()
for a,b in data:
cursor.execute("drop view "+a+"."+b)
conn.close()
寻找hive视图的更多相关文章
- Apache Kylin高级部分之使用Hive视图
本章节我们将介绍为什么须要在Kylin创建Cube过程中使用Hive视图.而假设使用Hive视图.能够带来什么优点.解决什么样的问题.以及须要学会怎样使用视图.使用视图有什么限制等等. 1. ...
- Hive视图如何创建、特点及应用场景
Hive视图特点 View是逻辑存在,Hive暂不支持物化视图(1.0.3) View只读,不支持LOAD/INSERT/ALTER.需要改变View定义,可以是用Alter View View内可能 ...
- 【转】Kylin实践之使用Hive视图
http://blog.csdn.net/yu616568/article/details/50548967 为什么需要使用视图 Kylin在使用的过程中使用hive作为cube的输入,但是有些情况下 ...
- Hive 学习之路(六)—— Hive 视图和索引
一.视图 1.1 简介 Hive 中的视图和RDBMS中视图的概念一致,都是一组数据的逻辑表示,本质上就是一条SELECT语句的结果集.视图是纯粹的逻辑对象,没有关联的存储(Hive 3.0.0引入的 ...
- Hive 系列(六)—— Hive 视图和索引
一.视图 1.1 简介 Hive 中的视图和 RDBMS 中视图的概念一致,都是一组数据的逻辑表示,本质上就是一条 SELECT 语句的结果集.视图是纯粹的逻辑对象,没有关联的存储 (Hive 3.0 ...
- 入门大数据---Hive视图和索引
一.视图 1.1 简介 Hive 中的视图和 RDBMS 中视图的概念一致,都是一组数据的逻辑表示,本质上就是一条 SELECT 语句的结果集.视图是纯粹的逻辑对象,没有关联的存储 (Hive 3.0 ...
- hive视图
简化复杂的查询 员工好.姓名.月薪.年薪.在一个emp表中; 部门名称在dept的表中;并未年薪起了一个名字annlsal 查询视图 视图是一个虚表,是不存数据的
- Yii框架怎么寻找对应视图
render()内容; public function render($view,$data=null,$return=false) { if($this->beforeRender($view ...
- 寻找hive数据倾斜路
前言 一直以来我都是从书上.博客上.别人口中听说数据倾斜,自己也从而指导一些解决数据倾斜的方式或者一些容易出现数据倾斜的场景.但是从来没有认真的去发现过,寻求过,研究过. 正文 我打开了hive官网 ...
随机推荐
- 语言I博客作业04
问题 答案 这个作业属于哪个课程 C语言程序设计II 这个作业的要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/9771 我 ...
- Oracle 的查询-scott用户介绍
scott用户 密码tiger 解锁scott用户 alter user scott account unlock; 解锁scott密码(也可重置密码) alter user scott identi ...
- Oracle的基本操作-修改表结构、数据的增删改查
创建一个person表 create table person( pid ), pname ) ); 添加一列 ); 修改列类型 ); 修改列名称 alter table person rename ...
- Jenkins+SVN持续环境搭建
需要三台不同环境的服务器,SVN.Jenkins.Tomcat 1.SVN搭建 1.Subversion服务器(SVN服务器) 2.项目对应的版本库 3.版本库中钩子程序(用于触发构建命令) 在我以前 ...
- Spring 注解介绍
@Component与@Bean的区别 @Component注解表明一个类会作为组件类,并告知Spring要为这个类创建bean. @Bean注解告诉Spring这个方法将会返回一个对象,这个对象要注 ...
- Java EE javax.servlet中的ServletContext接口
ServletContext接口 public interface ServletContext (https://docs.oracle.com/javaee/7/api/javax/servlet ...
- mpstat
mpstat--multiprocessor statistics,统计多处理器的信息 1.安装mpstat工具 [root@localhost ~]# yum install sysstat 2:展 ...
- 10-Perl 循环
1.Perl 循环一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推.有的时候,可能需要多次执行同一块代码.编程语言提供了更为复杂执行路径的多种控制结构.循环语句允许 ...
- Vue生命周期及业务场景使用
vue里的生命周期是什么? vue实例从创建到销毁的过程称之为vue的生命周期 vue的生命周期各阶段都做了什么? beforeCreate 实例创建前:这个阶段实例的data.methods是读不到 ...
- 详解CSS居中布局技巧
本文转自:https://zhuanlan.zhihu.com/p/25068655#showWechatShareTip一.水平居中元素: 1.通用方法,元素的宽高未知方式一:CSS3 transf ...