寻找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官网 ...
随机推荐
- Stream系列(十一)SummarizingDouble方法使用
汇总 视频讲解: https://www.bilibili.com/video/av78011675/ EmployeeTestCase.java package com.example.demo; ...
- 【Python】【demo实验17】【练习实例】【将一个正整数分解质因数】
题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 我的源代码: #!/usr/bin/python # encoding=utf-8 # -*- coding: UTF-8 ...
- 用python实现的21点游戏
游戏规则 该游戏的规则与实际的玩法应该有点差异,因为我没有去细查21点的确切玩法,只是根据印象中进行了一系列的定义,具体如下: 1.玩家为人类玩家与电脑玩家,共2个玩家.电脑为庄家. 2.先给人类玩家 ...
- 手动导入jar到本地mvn仓库
<dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId ...
- 使用kafka-eagle监控Kafka
# 监控kafka集群,开启监控趋势图使用 # 有一个问题,需要在kafka-server-start.sh文件中配置端口,有如下三种办法 # 第一种:复制并修改kafka目录,比如kafka-1,k ...
- frp基础操作
[common]privilege_mode = true privilege_token = ****bind_port = 7000 dashboard_user = 444444dashboar ...
- 【vue】computed 和 watch
计算属性:computed 监听多个变量且变量是在vue实例中(依赖某个变量,变量发生改变就会触发) 侦听器: watch 监听一个变量的变化 使用场景:watch(异步场景) ...
- 简单了解soap协议
SOAP的是什么的简写 soap是(Simple Object Access Protocal)的简写,即简单对象访问协议,它描述了一种在分散或分布式的环境中如何交换信息的轻量级协议. soap用来干 ...
- Java Jersey的详情概述
Jersey是一个RESTFUL请求服务JAVA框架,与常规的JAVA编程使用的struts框架类似,它主要用于处理业务逻辑层. 与springmvc 的区别: 1. jersey同样提供DI,是由g ...
- pycharm的快捷键以及快捷意义
ctrl+a 全选 ctrl+c 复制(默认复制整行) ctrl+v 粘贴 ctrl+x 剪切(默认复制整行) ctrl+f 搜索 ctrl+z 撤销 ctrl+shift+z 反撤销 ctrl+d ...