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

Hive 表注释乱码解决

文章目录

      • 出现原因
      • MySQL 字符集修改
      • 调整元数据库字符集
      • 测试

出现原因

一般 Hive 的元数据信息都存储在 MySQL 中,但 MySQL 数据库中的 character_set_servercharacter_set_database 参数,默认都为 latin1 字符集,这两个参数决定了服务器和数据库如何处理和存储数据的字符编码,而我们通常使用的字符集都是 utf8,所以会造成 Hive 中注释出现 ???? 乱码的情况。

可以通过下面的命令在 MySQL 进行检查:

-- 获取 MySQL 与字符集和校对规则相关的配置变量列表
show variables like "colla%";-- 获取 MySQL 字符集变量列表
show variables like 'chara%';

在这里插入图片描述

MySQL 字符集修改

修改 MySQL 配置文件:

vim /etc/my.cnf

添加下列内容:

# 在 [mysqld] 标签下加入
character-set-server=utf8
collation-server=utf8_general_ci## 在末尾加入
[client]
default-character-set=utf8

添加完成后重新启动 MySQL 服务:

systemctl restart mysqld

在这里插入图片描述

调整元数据库字符集

进入 MySQL 中调整下列参数,切换到存储 Hive 元数据信息的库,然后执行。

-- 进入存储 Hive 元数据信息的库
use hive;-- 修改表字段注释和表注释
alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;
alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;-- 修改分区字段注释
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  INDEX_PARAMS  modify column PARAM_VALUE  varchar(4000) character set utf8;

注意,仅对修改后创建的新表生效!

测试

在 Hive 中创建一个新表,并添加注释信息。

DROP TABLE IF EXISTS sku_info;
CREATE TABLE sku_info(`sku_id`      string COMMENT '商品id',`name`        string COMMENT '商品名称',`category_id` string COMMENT '所属分类id',`from_date`   string COMMENT '上架日期',`price`       double COMMENT '商品单价'
) COMMENT '商品属性表'ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';

在这里插入图片描述

问题解决。

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

相关文章:

  • 【搭建私人图床】使用LightPicture开源搭建图片管理系统并远程访问
  • Ubuntu入门04——目录与文件
  • 深度学习中有哪些超参数,都有什么作用
  • centOS下载与安装
  • uniapp中mixins的使用
  • 【JAVA基础——JAVA虚拟机JVM】
  • RTSP/Onvif视频服务器EasyNVR安防视频平台服务器频繁重启的问题解决方案
  • SpringBoot初级开发--服务请求(GET/POST)所有参数的记录管理(8)
  • 快速掌握STM32工程创建
  • 如何利用开源工具搭建AI大模型底座
  • 算法笔记:二叉树
  • 1. 安装Zookeeper
  • warning: ignoring unsupported character ‘问题修复
  • 【Ant Design】Form.Item创建自定义表单
  • Vision Transformer(VIT 网络架构)
  • 数学建模--蒙特卡洛模型的Python实现
  • MySQL访问和配置
  • note_前端框架Vue的安装和简单入门(Windows 11)
  • SILERGY(矽力杰)功率电子开关 SY6280AAC
  • mysql char 和varchar的区别?
  • HttpClient默认重试机制
  • 论文于祥读及复现——《Multi-level Map Construction for Dynamic Scenes》
  • IDEA 报 Cannot resolve symbol ‘HttpServletResponse‘ 解决
  • linux-samba-window登不上
  • Java Web3J :使用web3j监听、查询、订阅智能合约的事件
  • C语言入门 Day_13 二维数组
  • 通过HFS低成本搭建NAS,并内网穿透实现公网访问
  • 【SpringMVC】工作流程及入门案例
  • 【JVM】垃圾收集算法
  • K8s的Pod出现Init:ImagePullBackOff问题的解决(以calico为例)