hive字段乱码问题(解决)
问题
今日在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字段乱码问题(解决)相关推荐
- Mysql插入中文的字段内容时乱码的解决方法
Mysql插入中文的字段内容时乱码的解决方法 参考文章: (1)Mysql插入中文的字段内容时乱码的解决方法 (2)https://www.cnblogs.com/charlypage/p/10780 ...
- 解决前端中文字段乱码
问题描述 前端展示后台返回中文字段乱码,显示问号. 问题定位 在后端中打日志定位到数据库传过来就是乱码 @Override public List<CoopInstPo> findTree ...
- mysql返回页面乱码java_解决Java程序使用MySQL时返回参数为乱码的示例教程
先说MySQL的字符集问题.Windows下可通过修改my.ini内的 default-character-set=utf8 //客户端的默认字符集 在MySQL客户端工具中输入 SHOW VARIA ...
- fckeditor 上传图片 php_fckeditor 上传图片乱码的解决方法_PHP教程
php教程中文乱码 中文名乱码是因为: FCKeditor使用UTF-8编码, 自己机子比如是Windows系统 文件名使用的是GBK编码, 在上传中需要,改下编码,从UTF-8到GBK ==> ...
- r mysql utf8_R读取MySQL数据出现乱码,解决该问题的方法总结
R读取MySQL数据出现乱码,解决该问题的方法总结 我用的都是utf-8编码,电脑系统win7, MySQL-Front进行数据库的可视化. 1.我用的是RStudio,先去设置R的默认编码: Too ...
- java碰到乱码如何解决方法_如何处理java的乱码
为什么说乱码是中国程序员无法避免的话题呢?这个首先要从编码机制上说起,大家都是中文和英文的编码格式不是一样,解码也是不一样的! 如果中国的程序员不会遇到乱码,那么只有使用汉语编程.汉语编程是怎么回事, ...
- java jsp输出乱码,这是小弟我的JSP文件,输出后,汉字显示为乱码,怎么解决
当前位置:我的异常网» Java Web开发 » 这是小弟我的JSP文件,输出后,汉字显示为乱码,怎么解 这是小弟我的JSP文件,输出后,汉字显示为乱码,怎么解决 www.myexceptions.n ...
- oracle查询数据都是问号,Oracle数据库PL/SQL Developer查询结果显示问号乱码的解决方法...
PL SQL Developer,查询结果中的中文变成了一堆问号,SQL语句中的中文被提示invalid character,不能识别. 解决方法: 执行,select userenv('langua ...
- mysql 入库乱码,如何解决mysql中文入库乱码问题
如何解决mysql中文入库乱码问题 1. mysql 入库乱码问题 解决办法 首先 安装的时候必须选择utf-8字符集 如果不是可以进行再次配置或者设置相关变量 (可以用 SHOW VARIABLES ...
最新文章
- [转]Java中常用的集合—初学者的你不可错过的精编整理
- AVS 通信模块之HTTP2Transport
- promehteus 监控超时_07 . Prometheus监控Memcached并配置Grafana
- python返回字符串长度的函数_Python如何查找字符串的长度?(代码示例)
- apache.camel_Apache Camel 3.1 –更多骆驼核心优化(第3部分)
- android studio日历小程序,android studio无法加载日历界面
- 【机器人学与计算机视觉基础】(一)位置与姿态描述 1 位姿的抽象符号表示
- python第二阶段第四天 装饰器和匿名函数
- InfluxDB Java入门
- CSDN自定义模块简单设置之——添加图片、文字、链接等
- python网络爬虫的流程图_Python 网络爬虫程序架构及运行流程
- matlab画条状图,使用Matlab画条形图
- 服务器系统做成iso镜像,把服务器做成镜像
- 如何使用Ajax进行与服务器交互
- 关于向量的点积和叉乘
- mac安装python3并配置,Mac安装python3和环境配置
- 如何让手机成为电脑使用?用OTG线即可实现
- GPRS模块与STM32的数据传输
- 游戏服务器系统的选择界面,cocos2dx网游选服界面制作三:服务器单个item界面包装...
- 微软打造复古游戏 MakeCode Arcade改善程序代码编辑麻烦
热门文章
- centos 7 开放指定端口
- python for 格式化字符串 list.count
- JavaScript同步和异步
- npm 更新依赖 / 更新库 / 更新包 的命令 | npm outdated | npm updated
- index.php上传到服务器找不到站点,ThinkPHP上传到服务器出现404,未找到index.php模板等问题...
- 1.4 php编译安装-安装顺序在最后
- python如何快速登记凭证_如何高效地翻凭证?
- Unity3D占用内存太大的解决方法【先转,慢慢看】
- 修复微商城提交购物车时部分手机号码不识别
- TurboMail邮件服务器腾云驾务云化邮件办公