码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Hive 表注释乱码解决


    文章目录

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

    出现原因

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

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

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

    在这里插入图片描述

    MySQL 字符集修改

    修改 MySQL 配置文件:

    vim /etc/my.cnf
    
    • 1

    添加下列内容:

    # 在 [mysqld] 标签下加入
    character-set-server=utf8
    collation-server=utf8_general_ci
    
    ## 在末尾加入
    [client]
    default-character-set=utf8
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

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

    systemctl restart mysqld
    
    • 1

    在这里插入图片描述

    调整元数据库字符集

    进入 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;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

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

    测试

    在 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';
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    问题解决。

  • 相关阅读:
    一、PHP环境搭建[phpstorm]
    老男孩教育|0基础转行学Linux,完美逆袭,收获满意Offer!
    使用TensorRT 和 Triton 在Jetson NX上的模型部署
    二十三种设计模式-解密状态模式:优雅地管理对象状态
    异常:no transaction is in progress
    做这么多年程序员了,才把ELK和springboot的日志解决方案弄明白
    学生台灯用led灯好还是荧光灯好?推荐几款高品质的LED灯
    vue+element下日期组件momentjs转换赋值问题
    npm使用
    公开的免费API集锦
  • 原文地址:https://blog.csdn.net/weixin_46389691/article/details/132667723
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号