Hive 表注释乱码解决

这篇具有很好参考价值的文章主要介绍了Hive 表注释乱码解决。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

出现原因

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

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

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

-- 获取 MySQL 字符集变量列表
show variables like 'chara%';

Hive 表注释乱码解决,hive,hadoop,数据仓库

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

Hive 表注释乱码解决,hive,hadoop,数据仓库

调整元数据库字符集

进入 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';

Hive 表注释乱码解决,hive,hadoop,数据仓库

问题解决。文章来源地址https://www.toymoban.com/news/detail-707267.html

到了这里,关于Hive 表注释乱码解决的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 成功解决DataX从Hive导出Oracle的数据乱码问题!

    大数据与 RDBMS 之间的数据导入和导出都是企业日常数据处理中常见的一环,该环节一般称为 e-t-l 即 extract-transform-load 。市面上可用的 etl 工具和框架很多,如来自于传统数仓和 BI 圈的 kettle/informatica/datastage , 来自于 hadoop 生态圈的 sqoop/datax ,抑或使用计算引擎 spark/presto/fli

    2024年02月13日
    浏览(40)
  • Hadoop内hive之间,hive与DB、ES等之间数据交互的问题与解决方案

    之前做大数据处理,经常遇到各种问题。很多时候是项目作业简单项配置问题,也可能是导入导出参数配置的问题,也可能是公司Hadoop平台的问题。那么如何排查问题,解决问题?这种事情,除了自己要积累一些大数据的知识和技能外,也需要一些获得一些排查问题的技巧、

    2024年02月01日
    浏览(48)
  • 【hive 运维】hive注释/数据支持中文

    hive支持中文需要关注两个方面: 设置hive 元数据库中的一些表 设置hive-site.xml.   由于Hive元数据(表的属性、字段定义等)都是存储在Mysql中,所以在mysql连接中设置支持中文 characterEncoding=UTF-8 具体的在hive-site.xml中:   重启hive-server   建表   插入数据   注:含有中文列的表

    2024年02月14日
    浏览(68)
  • 解决hive表中文乱码问题

    使用的mysql版本:Server version: 5.7.31 现象描述:字段名称和字段描述等存储进如hivemetastore是中文,查询出来也是???等无法识别的中文乱码; 中文乱码的情况分为两种情况: 新建hive集群防止中文乱码 已有的hive集群中文乱码的纠正 在构建hive开发环境的时候,需要实现构建号

    2024年02月09日
    浏览(44)
  • 解决hive建表中文乱码问题

    一、解决hive建表中文乱码问题 问题: 关于中文乱码问题,我们可以从以下几个方面进行考虑: (1)判断hive表的存储格式是否是UTF-8: 如果hive表的存储格式不是UTF-8,也会导致中文乱码。 (2)判断输入的数据,其编码格式是否是中文字符集UTF-8: hive默认使用UTF-8编码,如

    2024年02月14日
    浏览(38)
  • Hive中处理中文乱码问题的解决方法

    中文乱码是在处理大数据时经常遇到的问题之一,尤其是在使用Hive进行数据分析和查询时。本文将介绍一些解决Hive中文乱码问题的方法,并提供相应的源代码示例。 设置Hive的字符集编码 在Hive中,可以通过设置字符集编码来解决中文乱码问题。通过在Hive会话中设置\\\"client.

    2024年02月04日
    浏览(40)
  • 关于黑马hive课程案例FineBI中文乱码的解决

    情况1:FineBI导入表名中文乱码,字段内容正常 情况2:FineBI导入表字段中文乱码,表名内容正常 使用navcat等工具连接node1 mysql数据库,执行下列代码,修改相关字符集格式 执行的时机 准备数据表阶段和清洗数据阶段都可,需在完成需求生成结果表之前 如果出现字段中文乱码

    2024年02月09日
    浏览(41)
  • Hive数据仓库---Hive的安装与配置

    Hive 官网地址:https://hive.apache.org/ 下载地址:http://www.apache.org/dyn/closer.cgi/hive/ 把安装文件apache-hive-3.1.2-bin.tar.gz上传到master节点的/opt/software目 录下,执行以下命令把安装文件解压到/opt/app目录中 进入/opt/app目录,为目录apache-hive-3.1.2-bin建立软件链接 即输入hive就相当于输入a

    2024年02月02日
    浏览(43)
  • 使用Sqoop命令从Oracle同步数据到Hive,修复数据乱码 %0A的问题

    一、创建一张Hive测试表 创建分区字段partition_date,指定分隔符“,” 二、编写Sqoop数据同步命令 我这里使用的是shell脚本的方式: 命令相关属性说明: --connect:连接Oracle数据库的URL,例如jdbc:oracle:thin:@219.216.110.120:1521:orcl。 --username:连接Oracle数据库的用户名,例如TEST1。

    2024年02月04日
    浏览(54)
  • Hive数据仓库简介

    Hive起源于Facebook,Facebook公司有着大量的日志数据,而Hadoop是实现了MapReduce模式开源的分布式并行计算的框架,可轻松处理大规模数据。然而MapReduce程序对熟悉Java语言的工程师来说容易开发,但对于其他语言使用者则难度较大。因此Facebook开发团队想设计一种使用SQL语言对日

    2024年02月15日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包