当前位置: 首页 > news >正文

更改Hive元数据发生的生产事故

今天同事想在hive里用中文做为分区字段。如果用中文做分区字段的话,就需要更改Hive元

数据库。结果发生了生产事故。导致无法删除表和删除分区。记一下。

 修改hive元数据库的编码方式为utf后可以支持中文,执行以下语句:

alter table PARTITIONS default character set utf8;
alter table PARTITION_KEY_VALS default character set utf8;
alter table SDS default character set utf8;
alter table PARTITIONS modify column PART_name varchar(190) character set utf8;
alter table PARTITION_KEY_VALS modify column PART_KEY_VAL varchar(256) character set utf8;
alter table SDS modify column LOCATION varchar(4000) character set utf8;

以上操作是没问题的,

当然,按照习惯执行前手动备份一下表。防止出现意外可以回滚。

 就是因为这个步骤,导致了我对表进行操作的时候,报错

message:One or more instances could not be deleted

Error while processing statement: FAILED: 
Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:One or more instances could not be deleted)

 这可是生产,可给我吓尿了。赶紧看看啥问题。

我以为是表出现问题了。就对表进行了修复

msck repair table table_name;

毛用都没有,现在每过一分钟我都紧张一分钟。跟我之前删服务器的感觉差不多。

冷静一下。可能处理的方向不对。现在最重要就得看看日志。

让我see 一 see

我擦,备份的时候连带着约束也备份过来了。

好嘛,删除约束试试

我备份了3张表。那么删除3张表的约束。我这里只展示1张表的处理,其他两张表处理方式都一样。

1、找到约束。

show create table PARTITIONS_bak20230313;CREATE TABLE `PARTITIONS_bak20230313` (`PART_ID` bigint(20) NOT NULL,`CREATE_TIME` int(11) NOT NULL,`LAST_ACCESS_TIME` int(11) NOT NULL,`PART_NAME` varchar(767) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,`SD_ID` bigint(20) DEFAULT NULL,`TBL_ID` bigint(20) DEFAULT NULL,PRIMARY KEY (`PART_ID`),UNIQUE KEY `UNIQUEPARTITION` (`PART_NAME`,`TBL_ID`),KEY `PARTITIONS_N49` (`TBL_ID`),KEY `PARTITIONS_N50` (`SD_ID`),CONSTRAINT `PARTITIONS_bak20230313_ibfk_1` FOREIGN KEY (`TBL_ID`) REFERENCES `TBLS` (`TBL_ID`),CONSTRAINT `PARTITIONS_bak20230313_ibfk_2` FOREIGN KEY (`SD_ID`) REFERENCES `SDS` (`SD_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1

由此可以看到。约束key PARTITIONS_bak20230313_ibfk_1和 PARTITIONS_bak20230313_ibfk_2

注意,操作元数据一定要注意。可别给执行错了。

alter table PARTITIONS_bak20230313 DROP FOREIGN KEY PARTITIONS_bak20230313_ibfk_1;
alter table PARTITIONS_bak20230313 DROP FOREIGN KEY PARTITIONS_bak20230313_ibfk_2;

删除约束后,再试试hive的DDL操作

阿西八,这备份整的。吓我一身冷汗。

来点赞,压压惊~

 

相关文章:

更改Hive元数据发生的生产事故

今天同事想在hive里用中文做为分区字段。如果用中文做分区字段的话,就需要更改Hive元 数据库。结果发生了生产事故。导致无法删除表和删除分区。记一下。 修改hive元数据库的编码方式为utf后可以支持中文,执行以下语句: alter table PARTITI…...

《Netty》从零开始学netty源码(八)之NioEventLoop.selector

目录java原生的WEPollSelectorImplnetty的SelectionKey容器SelectedSelectionKeySetnetty的SelectedSelectionKeySetSelectorSelectorTupleopenSelector每一个NioEventLoop配一个选择器Selector,在创建NioEventLoop的构造函数中会调用其自身方法openSelector获取sel…...

TCP UDP详解

文章目录TCP UDP协议1. 概述2. 端口号 复用 分用3. TCP3.1 TCP首部格式3.2 建立连接-三次握手3.3 释放连接-四次挥手3.4 TCP流量控制3.5 TCP拥塞控制3.6 TCP可靠传输的实现3.7 TCP超时重传4. UDP5.TCP与UDP的区别TCP UDP协议 1. 概述 TCP、UDP协议是TCP/IP体系结构传输层中的…...

超详细淘宝小程序的接入开发步骤

本文是向大家介绍的关于工作中遇到的如何对接淘宝小程序开发的步骤,它能够帮助大家省略在和淘宝侧对接沟通过程中的一些繁琐问题,便捷大家直接快速开展工作~~一、步骤演示1、首先我们打开淘宝开放平台,进入控制台2、进入控制台后,…...

【Python】正则表达式re库

文章目录函数re.match函数re.search函数re.findall函数re.compile函数re.sub函数re.split函数修饰符正则表达式模式正则表达式实例函数 re.match函数 re.match()函数用于尝试从字符串的 起始位置 匹配一个模式,匹配成功返回一个匹配对象,否则返回None。…...

JDK8使用Visual VM根据Dump文件排查OutOfMemoryError生产问题思路

文章目录1. 前言2. 堆内存溢出3. GC执行异常4. 元空间内存溢出5. 创建线程异常6. 内存交换问题7. 数组长度过大8. 系统误杀异常1. 前言 当系统异常产生了dump文件需要我们对其进行排查时,其本质上考验的是我们对于Java运行时内存结构的知识掌握是否牢固以及对业务代…...

2023年网络安全比赛--网络安全事件响应中职组(超详细)

一、竞赛时间 180分钟 共计3小时 二、竞赛阶段 1.找出黑客植入到系统中的二进制木马程序,并将木马程序的名称作为Flag值(若存在多个提交时使用英文逗号隔开,例如bin,sbin,…)提交; 2.找出被黑客修改的系统默认指令,并将被修改的指令里最后一个单词作为Flag值提交; 3.找出…...

【半监督学习】3、PseCo | FPN 错位对齐的高效半监督目标检测器

文章目录一、背景二、方法2.1 基础框架结构2.2 带噪声的伪边界框学习2.3 多视图尺度不变性学习三、实验论文:PseCo: Pseudo Labeling and Consistency Training for Semi-Supervised Object Detection 代码:https://github.com/ligang-cs/PseCo 出处&a…...

Tomcat+Servlet初识

文章目录Tomcat什么是TomcatTomcat的安装启动tomcat静态页面的访问动态页面的访问一个Servlet程序的部署流程Tomcat 什么是Tomcat Tomcat是一个HTTP服务器,在开发或调试Servlet代码时应用广泛;使用Tomcat,实际就是将用户浏览器输入的http请…...

ChatGPT-4 终于来了(文末附免费体验地址)

大家好,我是小钱学长。 ChatGPT4.0 重磅来袭,今天一打开plus页面出现的就是这个GPT-4的体验界面!现在就带大家一起看看GPT4.0​。 进入之后是这样的 看到最下面有一行话,目前应该是4个小时限制100条消息。 GPT-4有什么优势&…...

【C++学习】类和对象(中)一招带你彻底了解六大默认成员函数

前言:在之前,我们对类和对象的上篇进行了讲解,今天我们我将给大家带来的是类和对象中篇的学习,继续深入探讨【C】中类和对象的相关知识!!! 目录 1. 类的6个默认成员函数 2. 构造函数 2.1概念介…...

面试——Java基础

说一说你对Java访问权限的了解 在修饰成员变量/成员方法时,该成员的四种访问权限的含义如下: private:该成员可以被该类内部成员访问; default:该成员可以被该类内部成员访问,也可以被同一包下其他的类访…...

JavaWeb——Request(请求)和Response(响应)介绍

在写servlet时需要实现5个方法,在一个service方法里面有两个参数request和response。 浏览器向服务器发送请求会发送HTTP的请求数据——字符串,这些字符串会被Tomcat所解析,然后这些请求数据会被放到一个对象(request)里面保存。 相应的Tom…...

JMeter压测文件上传接口和中文乱码

一、压测文件上传接口 新建测试计划,然后添加需要的元件。 1、添加HTTP信息头管理器 可以在测试计划中添加,也可以在线程组里面添加。 我的接口使用到 token信息。这里在测试计划中添加。 2、添加线程组 上图解释:会在 2秒钟之内启动起来 5…...

CSRF漏洞复现

目录标题原理如何实现和xss区别危害CSRF实战(pikachu)dvwa靶场CSRF(Cross Site Request Forgery)。跨站请求伪造原理 攻击者会伪造一个请求(一般是一个链接),然后让用户去点击,然后…...

Google Colab导入GitHub python项目进行运行

本文介绍包含 ipynb后缀文件的github项目,导入到GitHub上进行运行的方法。 导入项目 Colab是需要梯子的。 访问网址:https://colab.research.google.com 输入github网之后回车,下面的内容是从github上自动获取的。 选择项目要打开的ipynb文…...

Qss样式表语法

QSS样式表语法 更多精彩内容👉个人内容分类汇总 👈👉QSS样式学习 👈文章目录QSS样式表语法[toc]概述一、样式规则二、选择器类型三、子控件四、伪状态五、样式表冲突解决六、级联七、继承八、命名空间中的控件概述 Qt样式表的概念…...

「Python 基础」异步 I/O 编程

I/O 密集型应用程序大大提升系统多任务处理能力; 异步 I/O 模型 一个消息循环,主线程在消息循环中不断重复 读取消息-处理消息; # 获取线程池 loop get_event_loop() while True:# 接收事件消息event loop.get_event()# 处理事件消息pro…...

通配符的匹配很全面, 但无法找到元素 ‘tx:advice‘ 的声明

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; 通配符的匹配很全面, 但无法找到元素 ‘tx:advice’ 的声明 错误原因&#xff1a; xmlns和xsi:schemaLocation未书写约束或者书写错误 正确书写 <beans xmlns:tx&q…...

响应式编程详解,带你熟悉Reactor响应式编程

文章目录一、什么是响应式编程1、Java的流和响应式流2、Java中响应式的使用3、Reactor中响应式流的基本接口4、Reactor中响应式接口的基本使用二、初始Reactor1、Flux和Mono的基本介绍2、引入Reactor依赖3、响应式类型的创建4、响应式类型的组合&#xff08;1&#xff09;使用m…...

机械工程师的Gazebo捷径:用SolidWorks建模,5步搞定你的仿真世界(.world文件生成)

机械工程师的Gazebo捷径&#xff1a;用SolidWorks建模&#xff0c;5步搞定你的仿真世界 作为一名机械工程师&#xff0c;你可能已经习惯了SolidWorks精确的建模环境&#xff0c;但当需要将设计转移到机器人仿真平台Gazebo时&#xff0c;却常常感到束手无策。本文将为你揭示一条…...

2026届学术党必备的五大AI辅助论文网站推荐榜单

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 智能写作辅助工具DeepSeek&#xff0c;于论文写作整个流程里能起到多维度的作用&#xff0c;…...

别做外卖代运营了:帮餐饮店处理差评,反而更容易月付

我是小杨,9年 Java 后端。 主业写系统,副业专门研究普通人今天就能开干的赚钱项目。 这个专栏只做一件事: 把一个赚钱思路,拆到你今天就能开始。 没有空话,只有4样东西: 我的判断 落地步骤 真实数据 踩坑记录 如果你看了几篇,觉得全是废话,那是我的问题。 这个专栏,…...

LMV358选10k还是100k反馈电阻?实测数据告诉你带宽与增益的取舍

LMV358反馈电阻选型实战&#xff1a;10k与100k的工程化决策指南 在传感器信号调理电路设计中&#xff0c;运算放大器的反馈电阻选型往往被工程师视为"小问题"&#xff0c;但正是这些细节决定了系统的整体性能边界。LMV358作为一款经典的轨到轨输出运算放大器&#xf…...

AI原生测试生成自动化落地全景图(2026奇点大会闭门报告首次解禁)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI原生测试生成自动化&#xff1a;2026奇点智能技术大会测试用例生成 核心范式跃迁 传统基于规则或模板的测试生成已无法应对大模型驱动下的动态接口、多模态输入与上下文敏感逻辑。2026奇点智能技术大…...

过采样与均值滤波:你的ADC噪声是“白”的吗?一个直方图分析教你判断

过采样与均值滤波&#xff1a;你的ADC噪声是“白”的吗&#xff1f;一个直方图分析教你判断 在嵌入式系统开发中&#xff0c;ADC&#xff08;模数转换器&#xff09;的性能往往决定了整个测量系统的精度上限。许多工程师都熟悉过采样技术的基本原理——通过提高采样频率并配合均…...

利用AI生成专业README:告别文档焦虑,提升项目协作效率

1. 项目概述&#xff1a;告别文档焦虑&#xff0c;用AI生成专业README每次新建一个项目&#xff0c;或者接手一个半成品&#xff0c;最头疼的是什么&#xff1f;对我而言&#xff0c;除了写代码本身&#xff0c;就是面对那个空荡荡的README.md文件。我知道它很重要——它是项目…...

AIAgent权限审计报告生成器已上线(SITS2026 v1.2认证工具):10分钟自动生成符合监管要求的Traceable权限图谱

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AIAgent权限管理&#xff1a;SITS2026概述 SITS2026 是新一代面向多智能体协同环境的细粒度权限管控规范&#xff0c;专为 AIAgent 系统设计&#xff0c;强调身份可信、意图可验、操作可溯。它不再依赖…...

AI技能化跨平台社交发布:一次编写,处处发布的自动化解决方案

1. 项目概述&#xff1a;一个为AI助手赋能的社交发布技能库如果你和我一样&#xff0c;经常需要将同一个项目更新、技术分享或者产品动态同步到十几个不同的社交媒体平台&#xff0c;那你一定深有体会&#xff1a;这活儿太磨人了。每个平台都有自己的调性、字数限制、图片尺寸要…...

别光看答案!用C语言亲手算算:10年后你的存款和房贷会怎样?(附谭浩强第五版第三章实战代码)

用C语言打造个人财务计算器&#xff1a;从GDP预测到房贷规划实战 当你第一次翻开谭浩强教授的《C程序设计》第三章&#xff0c;那些关于GDP增长、存款利息和房贷计算的习题可能看起来只是枯燥的数学练习。但换个角度想&#xff0c;这些公式正是构建个人财务规划工具的基础模块。…...