对于MSCK REPAIR TABLE命令,小编在工作中初见时,只有简单的理解——“刷新分区”。细究其原理便不得而知了。现在来将学习的内容记录一下。

首先,Hive能检测到的分区信息,存储在哪里?怎么新建分区才会存储在这个可(被Hive)检测位置上?怎么新建分区不会存储在这个可(被Hive)检测的位置上?MASK REAPRE TABLE有什么作用?

  • Hive能检测到的分区信息,存储在哪里?
    分区同database、table等一样,是Hive的元数据信息之一,存储在Derby、MySQL等数据库中。

  • Hive怎么获取元数据信息(包括分区)?
    Hive客户端连接metastore服务,metastrore再去连接MySQL获取元数据信息。(备注:有了metastore,多个客户端可以同时连接,而不需要知道MySQL的用户名和密码,只需要连接MySQL服务即可。)

  • 怎么新建分区,分区信息才会存储到MySQL中?
    插入数据之前,使用alter table xxx add partition()创建分区;或者插入数据时,使用insert into table xxx partition() value()创建分区,这些操作都会在MySQL中记录下新的分区信息。

  • 怎么新创建分区不会存储在MySQL中?
    Hive的数据实际存储在HDFS中,以多层目录的形式存储。
    若我们直接使用hdfs -put向HDFS中创建目录,上传数据,如下:

hdfs dfs -mkdir -p /user/hive/warehouse/test.db/repair_test/par=partition_2/
hdfs dfs -put -f test.txt /user/hive/warehouse/test.db/repair_test/par=partition_2/

或者通过其他形式,直接向Hive表在HDFS中的存储位置创建分区,建立数据。比如服务端DB通过kafka直接将数据落地到HDFS。这两种情况都不会在MYSQL存储的元数据信息中添加新分区信息。
新的元数据信息添加到了HDFS中,没有添加到MYSQL中,这时就需要使用MASK REPAIRE TABLE “刷新分区”了。

  • MASK REPAIR TABLE有什么作用?
    MASK(全称metastore consistency check,Hive表分区连贯性检查),运行MASK REPAIR TABLE 后,Hive回去检测这个表在HDFS上的文件,把没有写入metastore的分区信息写入到metastore。

  • 上面讲的是在HDFS中添加分区,MASK REPAIR TABLE刷新后,能将新分区信息添加到metastore中。若是直接从HDFS中删除分区呢?使用MASK REPAIR TABLE后能将metastore中过期的分区信息删除掉吗?
    答案是不行的。
    只能在Hive客户端中通过alter table drop partition(…)删除metastore中的分区信息。

备注:在一些新版本的Hive中(比如Fix Version/s: 3.0.0, 2.4.0, 3.1.0 ),MASK REPAIR TABLE 命令能删除掉metastore中的过期元数据信息。

参考文章:
[1] HIVE常用命令之MSCK REPAIR TABLE命令简述-简书
[2] Hive为什么要启用Metastore?

觉得文章还不错的话,客官赏个小钱买支雪糕吃吧。(好吧,就是想试试被打赏是种什么感觉,盒盒盒~)

Hive常用命令之MSCK REPAIR TABLE命令概述相关推荐

  1. HIVE常用命令之MSCK REPAIR TABLE命令简述

    工作中发现很多同事连基础的hive命令都不知道,所以准备写一个系列把hive一些常用的命令进行一个总结.第一个讲的命令是MSCK REPAIR TABLE. MSCK REPAIR TABLE 命令是 ...

  2. HIVE常用命令之MSCK REPAIR TABLE

    目录 MSCK REPAIR TABLE 命令是做啥的 例子 后续 MSCK REPAIR TABLE 命令是做啥的 MSCK REPAIR TABLE命令主要是用来解决通过hdfs dfs -put ...

  3. Hive 修复分区 MSCK REPAIR TABLE的使用

    因为昨天工作的时候踩 了坑,所以来记录一下.(我的问题是:我把hive表手动删掉 ,后来重新创建了一个一样的表,然后原有的分区数据全部损坏了,数据导不进去了) 一.msck repair table  ...

  4. Hive有分区文件到时select不到数据问题-----修复分区命令 msck repair table xxxxx

    问题:在导数据到hive分区表时, 手动把HDFS路径建好了,然后把对应的文件添加到路径下. 这时用select语句查询却查不到数据. 原因:虽然分区文件有了,但是分区信息没有添加到hive元数据表中 ...

  5. HIVE——常用sql命令总结

    文章目录 hive常用交互命令 `-e`执行sql `-f`执行脚本中sql语句 hive cli命令行窗口操作hdfs 查看hive中输入的所有历史命令 库 创建库 查看库 使用库 修改库 删除库 ...

  6. hive执行msck repair报错msck is missing partition columns under hdfs://表分区路径

    排查: 查看hiveserver日志报以下异常 msck is missing partition columns under hdfs://表分区路径 查看hdfs该表分区目录,存在分区=$%xxx ...

  7. MySQL建表(create table)命令详解

    MySQL建表(create table)命令详解 create table命令 强调:使用建表命令之前必须使用use命令选择表所在的数据库.create table命令的格式如下: create t ...

  8. Hive 常用指令记录

    一.Hive基本概念 1.1 hive是什么 hive是基于hadoop的一个数仓分析工具,hive可以将hdfs上存储的结构化的数据,映射成一张表,然后让用户写HQL(类SQL)来分析数据 tel ...

  9. hive动态分区,分区数据的几种插入方式,hive常用优化

    首先列举下hive分区插入的方式: 1:从文件导入数据到hive指定分区方式 load data local inpath 'filepath' into table tableName partit ...

  10. hive 的drop table命令出错

    一 前言 今天遇到 如题所示问题,出错内容提示如下 FAILED: Error in metadata: javax.jdo.JDODataStoreException: Error(s) were ...

最新文章

  1. android 图片过滤,android 图片转为bitmap,黑白镜过滤
  2. Java学习笔记之:Java JDBC
  3. jQuery 事件绑定
  4. python加密敏感信息_仅需10行代码,使用python加密用户敏感数据
  5. Target runtime com.genuitec.runtime.generic.jee60 is not defined.报错解决
  6. SpringMVC实现文件上传
  7. SpringCloud工作笔记051---SpringCloud打包部署流程
  8. namenode的元数据会被删除吗_欠阿里云0.01元,欠费15天后数据被删除了
  9. 来自intlsy‘s省选debug方法
  10. 【风电功率预测】基于matlab粒子群算法优化LSTM风电功率预测【含Matlab源码 941期】
  11. centos 7 64位虚机上android4环境运行
  12. 最新更新-最全泰尔指数合集:分省、地级市、产业结构泰尔指数计算模板(部分更新2020年)
  13. 【Dam Dadi Doo】MMD镜头+动作打包下载.zip
  14. 什么是网桥,它应该如何搭建
  15. 计算机组装电源的位置在哪,计算机组装之机箱和ATX电源
  16. C1. Skyscrapers (从easy到hard)
  17. P68是什么意思 IP67和IP68等级有什么区别
  18. Logstash配置插件grok详解
  19. 开水果店的水果怎么保鲜,新手开水果店水果保鲜方法
  20. 最好听的男孩、女孩名字

热门文章

  1. python matplotlib绘图总结
  2. layui之table操作点击编辑,使用layer.open回显值
  3. 服务器销售年终总结ppt模板,it运维工作总结ppt模板
  4. excel两个指标相关性分析_相关系数excel-如何用spss做相关性分析
  5. 国家知识产权局 下载专利全文
  6. EXCEL里如何识别AB和BA并去重?EXCEL里如何对多列同一值不区分顺序去重?
  7. vue中detele删除对象属性时视图不能响应更新 - 解决办法
  8. Word批量调整插入图片大小
  9. 主持人大赛-即兴主持之新闻稿
  10. fifo的rdata_异步FIFO设计与实现