hive如何刷新现有分区

hive刷新现有分区的需求,一般出现在你操组分区数据时采用了其他手段,也有极少的情况是有的发行版会删除历史很久的分区,总之各种原因导致的元数据和实际数据的分区对不上。

此时你就可以运行如下语句,让hive去根据实际数据刷新元数据

bash 复制代码
msck repair table 表名

应当注意的是,如果元数据中存在,但实际数据路径不存在,hive会删除元数据中的消息,而不是去新增底层数据路径。反之如果元数据中不存在,单实际路径中存在,hive会新增元数据信息。

在命令运行的时候,常见一个报错为Caused by: MetaException (message:java. lang. Nul PointerException)或者return code 1 from org.apache.hadoop.hive.ql.exec这个报错是值,实际路径中存在过去不hive校验的数据,通常是路径有特殊字符、数据文件格式不对等,此时如果你已经确定数据没有问题,但就是过不去校验,可以使用下面的配置

bash 复制代码
set hive.msck.path.validation=ignore;  #忽略校验错误
或者
set hive.msck.path.validation=skip;   #跳过校验

但是修改这个参数有个风险,就是你在未来操作这些问题分区的数据文件的时候,由于你当时没有排查并解决这些问题,可能导致操作报错,博主有过因为跳过验证后期在删除历史无用的分区时报空指针的问题

此外如果你只是新增一个已知的分区,你可以直接add它

bash 复制代码
ALTER TABLE table_name ADD PARTITION (partition_column='value') LOCATION 'hdfs://path/to/partition';

location可以不带,默认改路径在表数据路径下,但是注意ADD PARTITION不会去直接操作对应的数据路径,和msck的时候一样,对于需要追加的新分区只操作元数据的新增

相关推荐
最强大神3 小时前
基于Hive和Hadoop的共享单车分析系统
数据仓库·hive·hadoop·毕业设计选题·共享单车·大数据项目·大数据毕设
最强大神4 小时前
基于Hive和Hadoop的用电量分析系统
数据仓库·hive·hadoop·毕业设计选题·大数据项目·大数据毕业设计选题·用电量分析
roman_日积跬步-终至千里5 小时前
【Hive】学习路线:架构、运维、Hsql实战、源码分析
hive·学习·架构
大数据深度洞察5 小时前
Hive企业级调优[4]——HQL语法优化之分组聚合优化
大数据·数据仓库·hive
大数据深度洞察5 小时前
Hive企业级调优[3]—— Explain 查看执行计划
大数据·数据仓库·hive
IT毕设梦工厂14 小时前
大数据毕业设计选题推荐-网络电视剧收视率分析系统-Hive-Hadoop-Spark
大数据·hive·hadoop·spark·毕业设计·源码·课程设计
B站计算机毕业设计超人15 小时前
计算机毕业设计Hadoop+PySpark深圳共享单车预测系统 PyHive 共享单车数据分析可视化大屏 共享单车爬虫 共享单车数据仓库 机器学习 深度学习
数据仓库·hive·hadoop·爬虫·机器学习·spark·数据可视化
桃子是唯一的水果1 天前
hive窗口函数实现组内求和、累加、排序、计数
数据仓库·hive·hadoop
sheansavage1 天前
Hive基本原理与数据开发
数据仓库·hive·hadoop
小小小小小小小小小小码农2 天前
Spark任务读取hive表数据导入es
java·hive·elasticsearch·spark