问题

今日在hive内部建表发现所加字段comment显示全为?号。其实之前也碰到过只是觉得不是很重要,便没去管,但今天又遇到了,还是决定予以解决。

CREATE TABLE IF NOT EXISTS links (
movieId INT COMMENT '电影ID',
imdbId INT COMMENT 'imdb电影ID',
tmdbId INT COMMENT 'themoviedb电影ID')
COMMENT '电影链接表'
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED AS TEXTFILE;

解决

大家都知道关系型数据库之所以为关系型,就是内部所有属性值都能在自身库里找到其位置。Hive为数据仓库的框架,虽数据都是以文件形式存于hdfs,但其定义属性值(元数据)也需要存于关系型数据库中。通常是sqllite、mysql等轻量级RDBMS。本人使用的是mysql。

出现乱码的原因无非就是Hive使用的字符集与mysql中设置的元数据字符集不一致。故从这个角度寻找。Hive里字段的comment存在于Hive元数据库的COLUMNS_V2表,可以通过

解决方法
修改其中有关COMMENT的设置,但是只对新建的表有效,原来的表只能通过alter修改注释才可以。

# 建库时hive的库名改的metastore
use metastore;# 修改字段注释字符集
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_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8;
alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;# 索引
alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

重新建表

create table stu(id int comment '学号', name string comment '姓名');修改Hive表注释 # 修改hive表注释
alter table table_name set TBLPROPERTIES('comment' = '表注释');# 修改字段注释
alter table table_name change column 原列名 新列名 列类型 comment '列注释';

之前的表是不行的,可以重新导入

hive字段乱码问题(解决)相关推荐

  1. Mysql插入中文的字段内容时乱码的解决方法

    Mysql插入中文的字段内容时乱码的解决方法 参考文章: (1)Mysql插入中文的字段内容时乱码的解决方法 (2)https://www.cnblogs.com/charlypage/p/10780 ...

  2. 解决前端中文字段乱码

    问题描述 前端展示后台返回中文字段乱码,显示问号. 问题定位 在后端中打日志定位到数据库传过来就是乱码 @Override public List<CoopInstPo> findTree ...

  3. mysql返回页面乱码java_解决Java程序使用MySQL时返回参数为乱码的示例教程

    先说MySQL的字符集问题.Windows下可通过修改my.ini内的 default-character-set=utf8 //客户端的默认字符集 在MySQL客户端工具中输入 SHOW VARIA ...

  4. fckeditor 上传图片 php_fckeditor 上传图片乱码的解决方法_PHP教程

    php教程中文乱码 中文名乱码是因为: FCKeditor使用UTF-8编码, 自己机子比如是Windows系统 文件名使用的是GBK编码, 在上传中需要,改下编码,从UTF-8到GBK ==> ...

  5. r mysql utf8_R读取MySQL数据出现乱码,解决该问题的方法总结

    R读取MySQL数据出现乱码,解决该问题的方法总结 我用的都是utf-8编码,电脑系统win7, MySQL-Front进行数据库的可视化. 1.我用的是RStudio,先去设置R的默认编码: Too ...

  6. java碰到乱码如何解决方法_如何处理java的乱码

    为什么说乱码是中国程序员无法避免的话题呢?这个首先要从编码机制上说起,大家都是中文和英文的编码格式不是一样,解码也是不一样的! 如果中国的程序员不会遇到乱码,那么只有使用汉语编程.汉语编程是怎么回事, ...

  7. java jsp输出乱码,这是小弟我的JSP文件,输出后,汉字显示为乱码,怎么解决

    当前位置:我的异常网» Java Web开发 » 这是小弟我的JSP文件,输出后,汉字显示为乱码,怎么解 这是小弟我的JSP文件,输出后,汉字显示为乱码,怎么解决 www.myexceptions.n ...

  8. oracle查询数据都是问号,Oracle数据库PL/SQL Developer查询结果显示问号乱码的解决方法...

    PL SQL Developer,查询结果中的中文变成了一堆问号,SQL语句中的中文被提示invalid character,不能识别. 解决方法: 执行,select userenv('langua ...

  9. mysql 入库乱码,如何解决mysql中文入库乱码问题

    如何解决mysql中文入库乱码问题 1. mysql 入库乱码问题 解决办法 首先 安装的时候必须选择utf-8字符集 如果不是可以进行再次配置或者设置相关变量 (可以用 SHOW VARIABLES ...

最新文章

  1. [转]Java中常用的集合—初学者的你不可错过的精编整理
  2. AVS 通信模块之HTTP2Transport
  3. promehteus 监控超时_07 . Prometheus监控Memcached并配置Grafana
  4. python返回字符串长度的函数_Python如何查找字符串的长度?(代码示例)
  5. apache.camel_Apache Camel 3.1 –更多骆驼核心优化(第3部分)
  6. android studio日历小程序,android studio无法加载日历界面
  7. 【机器人学与计算机视觉基础】(一)位置与姿态描述 1 位姿的抽象符号表示
  8. python第二阶段第四天 装饰器和匿名函数
  9. InfluxDB Java入门
  10. CSDN自定义模块简单设置之——添加图片、文字、链接等
  11. python网络爬虫的流程图_Python 网络爬虫程序架构及运行流程
  12. matlab画条状图,使用Matlab画条形图
  13. 服务器系统做成iso镜像,把服务器做成镜像
  14. 如何使用Ajax进行与服务器交互
  15. 关于向量的点积和叉乘
  16. mac安装python3并配置,Mac安装python3和环境配置
  17. 如何让手机成为电脑使用?用OTG线即可实现
  18. GPRS模块与STM32的数据传输
  19. 游戏服务器系统的选择界面,cocos2dx网游选服界面制作三:服务器单个item界面包装...
  20. 微软打造复古游戏 MakeCode Arcade改善程序代码编辑麻烦

热门文章

  1. centos 7 开放指定端口
  2. python for 格式化字符串 list.count
  3. JavaScript同步和异步
  4. npm 更新依赖 / 更新库 / 更新包 的命令 | npm outdated | npm updated
  5. index.php上传到服务器找不到站点,ThinkPHP上传到服务器出现404,未找到index.php模板等问题...
  6. 1.4 php编译安装-安装顺序在最后
  7. python如何快速登记凭证_如何高效地翻凭证?
  8. Unity3D占用内存太大的解决方法【先转,慢慢看】
  9. 修复微商城提交购物车时部分手机号码不识别
  10. TurboMail邮件服务器腾云驾务云化邮件办公