不多BB,直接开干!!!
第一步:进入hive安装目录下面的conf目录,修改hive-site.xml文件
cd /opt/module/hive/conf vim hive-site.xml
第二步:修改如下内容
<property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://hadoop102:3306/metastore?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8</value> </property>
第三步:使用第三方工具连接mysql数据库(如idea、navicat等都行),使用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 DBS MODIFY COLUMN `DESC` VARCHAR(256) 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服务即可(之前编写了一个一键启动/停止 hive服务的脚本:详情请看博客:https://www.cnblogs.com/LzMingYueShanPao/p/14685159.html)
hiveservices.sh restart
第六步:删除原来乱码的数据库或表,重新新建即可
create database if not exists test222 comment "卢本伟牛逼"; create table test222.ods_order ( ORDER_ID int comment '订单ID', ORDER_NO varchar(30) comment '订单编号(唯一字段),前缀字符表示订单来源:a,Andriod;b,微博;c,WEB;e,饿了么;i,Iphone;m,Mobile;x,微信; z,中粮我买网;l,其它。 接着3位数字代表订单城市编号;接着字符z与后面的真正订单编号分隔。这套机制从2014年12月开始实施。', DEALER_ID int comment '门店ID', CUST_ID int comment '客户ID' ); desc database extended test222; desc test222.ods_order;