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

解决Hive乱码问题

在插入数据后,发现hive乱码

原因:Hive默认将存储表结构的元数据列编码设置为latin1,不支持中文

解决方法:在MySQL中修改对应Hive元数据列的编码

先查看mysql的所有字符集编码

1、先修改my.cnf

代码如下:

vim /etc/my.cnf
# 在尾部加入以下内容
[client]
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci

2、重启mysqld

systemctl restart mysqld

3、修改字段注释字符集

alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;

4、修改表注释字符集

alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

5、修改分区表参数,以支持分区键以及值能够用中文表示(可选)

alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8;
alter table PARTITIONS modify column PART_NAME varchar(767) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL;
alter table PARTITION_KEY_VALS modify column PART_KEY_VAL varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL;

6、修改索引注解(可选)
 

alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

7、查看mysql编码

8、进入hive,查看字符集

9、乱码解决

注意:每次修改字符集后,需要重新插入数据,从而实现修改同步,这里就能正常显示中文了

总结:三端同步

最终是实现三端同步{客户端(cli命令行),服务端(就是存在的库和表),数据(插入数据的编码)},只要这三端都是utf8,则数据一定能显示utf8格式,一般情况完成前4步就能解决乱码问题

http://www.lryc.cn/news/443035.html

相关文章:

  • Streamlit:使用 Python 快速开发 Web 应用
  • C#基础(11)函数重载
  • 堆栈指针寄存器SP的初值是多少?执行PUSH AX命令后,SP的值是多少?执行POP BX后,SP的值是多少?为什么答案给的是200,202,200。
  • python爬虫初体验(二)
  • 细说渗透测试:阶段、流程、工具和自动化开源方案
  • redis 十大应用场景
  • 信息安全数学基础(15)欧拉定理
  • sar(1) command
  • 掌握 JavaScript 中的函数表达式
  • OpenGL 原生库6 坐标系统
  • LabVIEW提高开发效率技巧----VI服务器和动态调用
  • 求1000以内所有恰好能分解成10组两个素数之和
  • Webpack 和 Vite 的区别
  • C++——初步认识C++和namespace的用法
  • LeetCode118:杨辉三角
  • 介绍一下大模型或者多模态?
  • 深度学习之图像数据集增强(Data Augmentation)
  • 小程序与APP的区别
  • Linux Kernel Makefiles 编译标志详解
  • 数据可视化pyecharts——数据分析(柱状图、折线图、饼图)
  • 小程序构建npm失败
  • 计算机人工智能前沿进展-大语言模型方向-2024-09-20
  • cv环境设置
  • 线性代数书中求解线性方程组的三种方法的实例
  • Linux容器化管理——Docker常见命令总结
  • 智慧校园建设解决方案建设系统简介
  • 用Python打造互动式中秋节庆祝小程序
  • Linux 生成 git ssh 公钥
  • CertiK因发现Apple Vision Pro眼动追踪技术漏洞,第6次获苹果认可
  • 自动登录 RPA 的进阶:滑块验证的巧妙实现