修改Hive支持中文注释

  1. 修改hive-site.xml中的参数

vim hive-site.xml

<property>

<name>javax.jdo.option.ConnectionURL</name>     <value>jdbc:mysql://hadoop102:3306/metastore?createDatabaseIfNotExist=true&amp;useUnicode=true&amp;characterEncoding=UTF-8

</value>

<description>JDBC connect string for a JDBC metastore</description>

</property>
  1. 进入数据库 Metastore 中执行以下 SQL 语句 

(1)修改表字段注解和表注解:

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;

(2)修改分区字段注解:

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;
  1. 测试:
hive (default)> create table student(id int COMMENT '学生ID', name string COMMENT '学生姓名')
              > COMMENT '学生表'

              > PARTITIONED BY ( `date` string COMMENT '日期')

              > row format delimited

              > fields terminated by '\t';

desc formatted student;

 

最后,查看是否能够正常显示中文

修改Hive中字段的中文注释,可以使用以下两种方法: 1. 使用ALTER TABLE语句修改字段注释,具体步骤如下: 首先,通过DESCRIBE table_name命令查看结构,获取需要修改注释的字段名称。 然后,使用ALTER TABLE table_name CHANGE COLUMN column_name column_name data_type COMMENT 'new_comment'语句修改注释,其中,column_name为需要修改注释的字段名称,data_type为该字段的数据类型,new_comment为新的注释内容。 例如:基于sales,需要修改字段“amount”的注释,可以使用以下ALTER TABLE语句: ``` ALTER TABLE sales CHANGE COLUMN amount amount DECIMAL(10,2) COMMENT '销售金额'; ``` 2. 将结构导出为DDL语句,手动修改注释内容后再重新创建。具体步骤如下: 首先,使用SHOW CREATE TABLE table_name命令将该结构导出为DDL语句。 然后,找到需要修改注释的字段,手动修改注释内容。 最后,使用修改后的DDL语句重新创建。 例如:基于sales,需要修改字段“amount”的注释,可以使用以下步骤: ``` -- 导出DDL语句 SHOW CREATE TABLE sales; -- 手动修改DDL语句中的字段注释内容 CREATE TABLE `sales` ( `id` int(11) COMMENT '销售单ID', `date` date COMMENT '销售日期', `amount` decimal(10,2) COMMENT '新的销售金额注释', `qty` int(11) COMMENT '销售数量' ) -- 根据修改后的DDL语句重新创建 DROP TABLE sales; CREATE TABLE `sales` ( `id` int(11) COMMENT '销售单ID', `date` date COMMENT '销售日期', `amount` decimal(10,2) COMMENT '新的销售金额注释', `qty` int(11) COMMENT '销售数量' ); ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zhang_Fei_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值