如何hive视图

1.mysql数据库

  1. [centos@s201 ~]$ mysql -uroot -proot
  2.  
  3. mysql> show databases;
  4. +--------------------+
  5. | Database |
  6. +--------------------+
  7. | information_schema |
  8. | azkaban |
  9. | big12 |
  10. | hive |
  11. | mysql |
  12. | performance_schema |
  13. +--------------------+
  14. 6 rows in set (0.05 sec)

2.找hive库

  1. show databases;
  2. +--------------------+
  3. | Database |
  4. +--------------------+
  5. | information_schema |
  6. | azkaban |
  7. | big12 |
  8. | hive |
  9. | mysql |
  10. | performance_schema |
  11. +--------------------+
  12.  
  13. mysql> use hive;

3.观表

  1. show tables;
  2. +---------------------------+
  3. | Tables_in_hive |
  4. +---------------------------+
  5. | AUX_TABLE |
  6. | BUCKETING_COLS |
  7. | CDS |
  8. | COLUMNS_V2 |
  9. | COMPACTION_QUEUE |
  10. | COMPLETED_COMPACTIONS |
  11. | COMPLETED_TXN_COMPONENTS |
  12. | DATABASE_PARAMS |
  13. | DBS |
  14. | DB_PRIVS |
  15. | DELEGATION_TOKENS |
  16. | FUNCS |
  17. | FUNC_RU |
  18. | GLOBAL_PRIVS |
  19. | HIVE_LOCKS |
  20. | IDXS |
  21. | INDEX_PARAMS |
  22. | KEY_CONSTRAINTS |
  23. | MASTER_KEYS |
  24. | NEXT_COMPACTION_QUEUE_ID |
  25. | NEXT_LOCK_ID |
  26. | NEXT_TXN_ID |
  27. | NOTIFICATION_LOG |
  28. | NOTIFICATION_SEQUENCE |
  29. | NUCLEUS_TABLES |
  30. | PARTITIONS |
  31. | PARTITION_EVENTS |
  32. | PARTITION_KEYS |
  33. | PARTITION_KEY_VALS |
  34. | PARTITION_PARAMS |
  35. | PART_COL_PRIVS |
  36. | PART_COL_STATS |
  37. | PART_PRIVS |
  38. | ROLES |
  39. | ROLE_MAP |
  40. | SDS |
  41. | SD_PARAMS |
  42. | SEQUENCE_TABLE |
  43. | SERDES |
  44. | SERDE_PARAMS |
  45. | SKEWED_COL_NAMES |
  46. | SKEWED_COL_VALUE_LOC_MAP |
  47. | SKEWED_STRING_LIST |
  48. | SKEWED_STRING_LIST_VALUES |
  49. | SKEWED_VALUES |
  50. | SORT_COLS |
  51. | TABLE_PARAMS |
  52. | TAB_COL_STATS |
  53. | TBLS |
  54. | TBL_COL_PRIVS |
  55. | TBL_PRIVS |
  56. | TXNS |
  57. | TXN_COMPONENTS |
  58. | TYPES |
  59. | TYPE_FIELDS |
  60. | VERSION |
  61. | WRITE_SET |
  62. +---------------------------+

4.TBLS表结构

  1. mysql> desc TBLS;
  2. +--------------------+--------------+------+-----+---------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +--------------------+--------------+------+-----+---------+-------+
  5. | TBL_ID | bigint(20) | NO | PRI | NULL | |
  6. | CREATE_TIME | int(11) | NO | | NULL | |
  7. | DB_ID | bigint(20) | YES | MUL | NULL | |
  8. | LAST_ACCESS_TIME | int(11) | NO | | NULL | |
  9. | OWNER | varchar(767) | YES | | NULL | |
  10. | RETENTION | int(11) | NO | | NULL | |
  11. | SD_ID | bigint(20) | YES | MUL | NULL | |
  12. | TBL_NAME | varchar(128) | YES | MUL | NULL | |
  13. | TBL_TYPE | varchar(128) | YES | | NULL | |
  14. | VIEW_EXPANDED_TEXT | mediumtext | YES | | NULL | |
  15. | VIEW_ORIGINAL_TEXT | mediumtext | YES | | NULL | |
  16. +--------------------+--------------+------+-----+---------+-------+

5.根据TBL_TYPE找到视图

  1. mysql> select * from TBLS where tbl_type='VIRTUAL_VIEW';
  2. +--------+-------------+-------+------------------+--------+-----------+-------+----------+--------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
  3. | TBL_ID | CREATE_TIME | DB_ID | LAST_ACCESS_TIME | OWNER | RETENTION | SD_ID | TBL_NAME | TBL_TYPE | VIEW_EXPANDED_TEXT | VIEW_ORIGINAL_TEXT |
  4. +--------+-------------+-------+------------------+--------+-----------+-------+----------+--------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
  5. | 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 |
  6. | 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 |
  7. | 194 | 1544336831 | 6 | 0 | centos | 0 | 230 | a2 | VIRTUAL_VIEW | select
  8. `a1`.`deviceid` ,
  9. `a1`.`musicid`,
  10. `a1`.`sum`,
  11. max(`a1`.`sum`)over(partition by `a1`.`deviceid`) as `sum2`
  12. from `big12`.`a1` | select
  13. deviceid ,
  14. musicid,
  15. sum,
  16. max(sum)over(partition by deviceid) as sum2
  17. from a1 |
  18. | 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) |
  19. +--------+-------------+-------+------------------+--------+-----------+-------+----------+--------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+

6.查看存储库信息的DBS表

  1. mysql> desc DBS;
  2. +-----------------+---------------+------+-----+---------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +-----------------+---------------+------+-----+---------+-------+
  5. | DB_ID | bigint(20) | NO | PRI | NULL | |
  6. | DESC | varchar(4000) | YES | | NULL | |
  7. | DB_LOCATION_URI | varchar(4000) | NO | | NULL | |
  8. | NAME | varchar(128) | YES | UNI | NULL | |
  9. | OWNER_NAME | varchar(128) | YES | | NULL | |
  10. | OWNER_TYPE | varchar(10) | YES | | NULL | |
  11. +-----------------+---------------+------+-----+---------+-------+
  1. select * from DBS limit 10;
  2. +-------+-----------------------+------------------------------------------------+-------------+------------+------------+
  3. | DB_ID | DESC | DB_LOCATION_URI | NAME | OWNER_NAME | OWNER_TYPE |
  4. +-------+-----------------------+------------------------------------------------+-------------+------------+------------+
  5. | 1 | Default Hive database | hdfs://s201/user/hive/warehouse | default | public | ROLE |
  6. | 6 | NULL | hdfs://s201/user/hive/warehouse/big12.db | big12 | centos | USER |
  7. | 11 | NULL | hdfs://s201/user/hive/warehouse/music164.db | music164 | centos | USER |
  8. | 16 | NULL | hdfs://s201/user/hive/warehouse/big12_umeng.db | big12_umeng | centos | USER |
  9. | 21 | NULL | hdfs://s201/user/hive/warehouse/big12_2.db | big12_2 | centos | USER |
  10. | 26 | NULL | hdfs://s201/user/hive/warehouse/iml.db | iml | centos | USER |
  11. | 31 | NULL | hdfs://s201/user/hive/warehouse/wqbin.db | wqbin | centos | USER |
  12. +-------+-----------------------+------------------------------------------------+-------------+------------+------------+

7.如何删除视图跑路的脚本如下

7.1连接mysql

  1. import pymysql
  2.  
  3. conn = pymysql.connect(host='192.168.154.201', user='root', passwd='root', db='hive')
  4. cur = conn.cursor()
  5.  
  6. # 查询
  7. sql = "select NAME,TBL_NAME from TBLS a join DBS b on a.DB_ID=b.DB_ID "
  8. reCount = cur.execute(sql) # 返回受影响的行数
  9. print(reCount)
  10. data = cur.fetchall() # 返回数据,返回的是tuple类型
  11. print(data)
  12.  
  13. cur.close()
  14. conn.close()

(('big12', 'a'), ('big12', 'a1'), ('big12', 'a2'), ('big12', 'zz1'))

7.2删除hive视图

使用pyhive连接hive删除所有视图

  1. import pymysql
  2. conn = pymysql.connect(host='192.168.154.201', user='root', passwd='root', db='hive')
  3. cur = conn.cursor()
  4. # 查询
  5. sql = "select NAME,TBL_NAME from TBLS a join DBS b on a.DB_ID=b.DB_ID where a.TBL_TYPE='VIRTUAL_VIEW'"
  6. reCount = cur.execute(sql) # 返回受影响的行数
  7. data = cur.fetchall() # 返回数据,返回的是tuple类型
  8. print(data)
  9. cur.close()
  10. conn.close()
  11.  
  12. from pyhive import hive
  13. import thrift
  14. import sasl
  15. import thrift_sasl
  16. conn = hive.Connection(host='192.168.154.201', port=10000, database='big12',auth='NOSASL')
  17. cursor=conn.cursor()
  18. for a,b in data:
  19. cursor.execute("drop view "+a+"."+b)
  20. conn.close()

寻找hive视图的更多相关文章

  1. Apache Kylin高级部分之使用Hive视图

    本章节我们将介绍为什么须要在Kylin创建Cube过程中使用Hive视图.而假设使用Hive视图.能够带来什么优点.解决什么样的问题.以及须要学会怎样使用视图.使用视图有什么限制等等. 1.      ...

  2. Hive视图如何创建、特点及应用场景

    Hive视图特点 View是逻辑存在,Hive暂不支持物化视图(1.0.3) View只读,不支持LOAD/INSERT/ALTER.需要改变View定义,可以是用Alter View View内可能 ...

  3. 【转】Kylin实践之使用Hive视图

    http://blog.csdn.net/yu616568/article/details/50548967 为什么需要使用视图 Kylin在使用的过程中使用hive作为cube的输入,但是有些情况下 ...

  4. Hive 学习之路(六)—— Hive 视图和索引

    一.视图 1.1 简介 Hive 中的视图和RDBMS中视图的概念一致,都是一组数据的逻辑表示,本质上就是一条SELECT语句的结果集.视图是纯粹的逻辑对象,没有关联的存储(Hive 3.0.0引入的 ...

  5. Hive 系列(六)—— Hive 视图和索引

    一.视图 1.1 简介 Hive 中的视图和 RDBMS 中视图的概念一致,都是一组数据的逻辑表示,本质上就是一条 SELECT 语句的结果集.视图是纯粹的逻辑对象,没有关联的存储 (Hive 3.0 ...

  6. 入门大数据---Hive视图和索引

    一.视图 1.1 简介 Hive 中的视图和 RDBMS 中视图的概念一致,都是一组数据的逻辑表示,本质上就是一条 SELECT 语句的结果集.视图是纯粹的逻辑对象,没有关联的存储 (Hive 3.0 ...

  7. hive视图

    简化复杂的查询 员工好.姓名.月薪.年薪.在一个emp表中; 部门名称在dept的表中;并未年薪起了一个名字annlsal 查询视图 视图是一个虚表,是不存数据的

  8. Yii框架怎么寻找对应视图

    render()内容; public function render($view,$data=null,$return=false) { if($this->beforeRender($view ...

  9. 寻找hive数据倾斜路

    前言 一直以来我都是从书上.博客上.别人口中听说数据倾斜,自己也从而指导一些解决数据倾斜的方式或者一些容易出现数据倾斜的场景.但是从来没有认真的去发现过,寻求过,研究过. 正文 我打开了hive官网  ...

随机推荐

  1. hdoj6446(树形DP)

    题目链接:https://vjudge.net/problem/HDU-6446 题意:简化题意后就是求距离和的2*(n-1)!倍. 思路: 简单的树形dp,通过求每条边的贡献计算距离和,边(u,v) ...

  2. tcpdump移植和使用

    转载于:http://blog.chinaunix.net/uid-30497107-id-5757540.html?utm_source=tuicool&utm_medium=referra ...

  3. Redis(1.4)Redis的持久化

    Redis持久化 [1]概念 Redis所有的数据存储在内存中,为了保证重启后,redis数据不丢失,需要把redis数据保存在磁盘中. [2]持久化使用方式策略 (1)RDB 方式:默认支持,不需要 ...

  4. python 下安装pymysql数据库

    两种方法来安装pymysql 方法一.利用命令来安装 安装:python37 -m pip install pymysql 升级:python37 -m pip install pymysql --u ...

  5. Python接口开发小知识

    关于数据库设计 接口开发多学习数据库表操作,这是要点 不存在删除数据,每个可能被删除数据的表加一个is_active属性 不同的表可以有多个相同的字段,字段属性少用禁止非空 不要设置太多主外键(高内聚 ...

  6. sqlalchemy定义mysql时间戳字段

    update_time = Column(TIMESTAMP, nullable=False, comment='更新时间戳', server_default=text('CURRENT_TIMEST ...

  7. CF 666C & 牛客 36D

    给定字符串S, 求有多少长为$n$的字符串T, 使得S为T的子序列. 可以得到转移矩阵为 $\begin{equation}A=\begin{bmatrix}25 & 0 & 0 &a ...

  8. Bootstrap3基础教程 02 网格布局

    Bootstrap 提供了一套响应式.移动设备优先的流式网格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多列. 网页设计中的网格布局作用:组织内容,让网站易于浏览,并降低用户端 ...

  9. 连接云服务器中MySql数据库遇到的问题

    使用的免费的云服务器,上面只能下载MySql数据库,不过当云数据库使用绰绰有余了,也就放一些测试数据而已 而且上面只可以部署php项目,.netcore项目部署实现比较麻烦 问题如下: 下载了navi ...

  10. 二、maven学习

    maven工程运行环境修改 例如maven自带Tomcat6,我们想使用Tomcat7 pom.xml #配置多一个Tomcat7<plugins> <plugin> < ...