大数据学习19:hive元数据库一些查询和分区
来源:互联网 发布:java用户管理系统代码 编辑:程序博客网 时间:2024/06/05 18:28
有时根据需求,需要对hive中的表批量处理,这时可以到元数据库中进行一些查询操作,操作请慎重!! 【mysql】
1、查询某表的分区
在Spark-sql查询hive表时,会由于元数据中文件与hdfs文件不一致而出现TreeNodeException的异常。
比如说,在hive中show partitions时有分区pt=20160601,但是对应HDFS路径下并没有这个子文件夹时,在Spark-sql中就会出现该异常。
这时如果需要查询某表的分区,就可以使用如下语句:
SELECT p.* from PARTITIONS pJOIN TBLS tON t.TBL_ID=p.TBL_IDWHERE t.TBL_ID='6'AND PART_NAME like '%deptno=10%';#依靠tbl_id 和 分区名确认
2、查询指定库中stored as textfile类型的所有表名
select d.NAME, t.TBL_NAME, s.INPUT_FORMAT, s.OUTPUT_FORMATfrom TBLS tjoin DBS djoin SDS swhere t.DB_ID = d.DB_IDand t.SD_ID = s.SD_IDand d.NAME='test' and s.INPUT_FORMAT like '%TextInputFormat%';#test是库名
3、查询指定库中的分区表
select db.NAME, tb.TBL_NAME, pk.PKEY_NAME from TBLS tbjoin DBS dbjoin PARTITION_KEYS pkwhere tb.DB_ID = db.DB_IDand tb.TBL_ID=pk.TBL_IDand db.NAME='test';#test是库名
4、查询指定库的非分区表
select db.NAME, tb.TBL_NAMEfrom TBLS tbjoin DBS dbwhere tb.DB_ID = db.DB_IDand db.NAME='test'and tb.TBL_ID not in ( select distinct TBL_ID from PARTITION_KEYS) ;#test是库名
5、查询指定库中某种存储类型的分区表
select db.NAME, tb.TBL_NAME, pk.PKEY_NAME, s.INPUT_FORMAT, s.OUTPUT_FORMATfrom TBLS tbjoin DBS dbjoin PARTITION_KEYS pkjoin SDS swhere tb.DB_ID = db.DB_IDand tb.TBL_ID=pk.TBL_IDand tb.SD_ID = s.SD_IDand db.NAME='test'and s.INPUT_FORMAT like '%TextInputFormat%';#test是库名
6、查询指定库中某种存储类型的非分区表
select db.NAME, tb.TBL_NAME, s.INPUT_FORMAT, s.OUTPUT_FORMATfrom TBLS tbjoin DBS dbjoin SDS swhere tb.DB_ID = db.DB_IDand tb.SD_ID = s.SD_IDand db.NAME='test'and s.INPUT_FORMAT like '%TextInputFormat%'and tb.TBL_ID not in (select distinct TBL_ID from PARTITION_KEYS)#test是库名
转自:http://blog.csdn.net/dabokele/article/details/51647332
阅读全文
0 0
- 大数据学习19:hive元数据库一些查询和分区
- hive-查询元数据
- 大数据学习27:Hive元数据清理,从mysql层面删除hive元数据
- 大数据学习18:Hive在mysql的元数据表的关系和含义
- Hive 元数据信息查询
- Hadoop 从零开始学习系列-hive从元数据生成表结构、分区等建表语句
- Hive 元数据和QL基本操作学习整理
- hive修改MySQL里的元数据删除分区
- Oracle查询数据库元数据
- Hive学习笔记 --- Hive元数据与数据存储
- Hive学习系列-配置mysql元数据
- Hive学习系列-配置mysql元数据
- Hive学习笔记10@元数据解析
- oracle删除分区、子分区,元数据和和只清除分区、子分区数据sql
- Hive元数据库表分析和操作
- 数据字典查询数据库中分区字段
- hive使用mysql做元数据库,以及一些问题处理
- 数据库元数据的学习
- 2017.10.5 自己的第一篇博客文章~
- 一张图入门python
- python网络数据采集学习范例—利用CSS爬取网站特定标签,BeautifulSoup函数介绍及子标签
- ACM刷题之codeforce————Race Against Time
- 微信小程序---开通开发环境的理解
- 大数据学习19:hive元数据库一些查询和分区
- 数字图像处理成长之路12:重映射实例
- vim的使用
- PAT 甲级 1087. All Roads Lead to Rome (30)
- 问题:如果鸟是可以飞的,那鸵鸟是鸟吗?鸵鸟该如何继承鸟类
- cprintf与printf的区别
- 水果盛宴
- 第二章 SQL命令参考-ALTER AGGREGATE
- 关于常见的Java面试,你应该准备这些知识点