hive如何刷新现有分区

news/2024/9/29 10:09:13/

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

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

msck repair table 表名

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

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

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

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

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

ALTER TABLE table_name ADD PARTITION (partition_column='value') LOCATION 'hdfs://path/to/partition';

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


http://www.ppmy.cn/news/1531880.html

相关文章

【数据结构】环形队列(循环队列)学习笔记总结

文章目录 什么是环形队列?基于 C 语言实现环形队列环形队列的应用场合 在计算机科学中,数据结构是组织和存储数据的方式,它对于高效的算法设计至关重要。队列是一种常见的数据结构,遵循 FIFO(先进先出,First-In-Firs…

Vue使用Vue Router路由:通过URL传递与获取参数

Vue Router 路由实际上就是一种映射关系。例如,多个选项卡之间的切换就可以使用路由功能来实现。在切换时,根据鼠标的点击事件显示不同的页面内容,这相当于事件和事件处理程序之间的映射关系。在实际的开发中,经常需要通过URL来传…

GitHub 高阶搜索技巧

GitHub Where software is built readme中包含中文书籍 中文书籍 in:readme 搜索某个组织的开源项目 language:Python org:google org:google 高赞python 开源项目 stars:>5000 language:python 特定的用户下搜索仓库 user:public-apis stars:>5000 language:P…

力扣9.28

377. 组合总和 Ⅳ 给你一个由 不同 整数组成的数组 nums &#xff0c;和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。 题目数据保证答案符合 32 位整数范围。 数据范围 1 < nums.length < 2001 < nums[i] < 1000nums 中的…

【AI大模型-文心-思维树解读-仓颉精通之路-3】

提问&#xff1a;请帮我对比这三种方案的优缺点、投入时间、实施难度以及可能面临的挑战。并根据这些因素为每个选项分配一个成功率和信心水平&#xff0c;请用表格列举。 回答&#xff1a;如下 版本&#xff1a;文心大模型3.5 以下是对比三种学习仓颉开发语言方案的优缺点、投…

玩转图像处理:Python与OpenCV实现高效绿幕背景替换

文章目录 前言色度抠图技术&#xff08;Chroma Keying&#xff09;基本原理 数据准备代码实现性能分析代码优化优化后的速度 前言 现阶段绿幕抠图有很多种方式&#xff0c;比如色度抠图&#xff08;Chroma Keying&#xff09;、亮度抠图&#xff08;Luma Keying&#xff09;、色…

深入理解 Java 中的 Switch 语句

深入理解 Java 中的 Switch 语句 在 Java 编程中&#xff0c;switch 语句是一种强大的控制结构&#xff0c;能够根据表达式的值选择执行不同的代码块。本文将详细介绍 switch 的基本语法、使用案例、注意事项以及与 if 语句的选择。 基本语法 switch 语句的基本语法如下&#…

【Java SE】初遇Java,数据类型,运算符

&#x1f525;博客主页&#x1f525;&#xff1a;【 坊钰_CSDN博客 】 欢迎各位点赞&#x1f44d;评论✍收藏⭐ 1. Java 概述 1.1 Java 是什么 Java 是一种高级计算机语言&#xff0c;是一种可以编写跨平台应用软件&#xff0c;完全面向对象的程序设计语言。Java 语言简单易学…