hive中文分区字段设置

hive存数据是中文分区字段,需要设置

查看是否都是utf-8
show variables like '%char%';
如不是需配置my.cnf(/etc/my.cnf或/usr/my.cnf)
    [mysqld]
    character-set-server=utf8
重启mysql
    service mysql restart

#修改hive database编码
alter database hive default character set utf8;
#修改table编码
alter table PARTITIONS default character set utf8;
alter table PARTITION_KEY_VALS default character set utf8;
alter table SDS default character set utf8;
#修改字段编码
alter table PARTITIONS modify column PART_name varchar(190) character set utf8;
alter table PARTITION_KEY_VALS modify column PART_KEY_VAL varchar(256) character set utf8;
alter table SDS modify column LOCATION varchar(4000) character set utf8;
    

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Hive 中,如果需要为一个已有的分区增加字段,可以通过以下步骤实现: 1. 添加新的分区字段:首先需要在表中添加新的分区字段,可以使用 ALTER TABLE 语句来实现,例如: ``` ALTER TABLE table_name ADD PARTITION (partition_field='partition_value') PARTITION (new_partition_field='new_partition_value') ``` 这里假设原来的分区字段为 partition_field,新添加的字段为 new_partition_field。 2. 更新分区数据:添加新的分区字段后,需要对分区数据进行更新,将新添加的字段设置为默认值或者合适的值。可以使用 Hive 的 INSERT INTO 语句来实现,例如: ``` INSERT INTO table_name PARTITION (partition_field='partition_value', new_partition_field='new_partition_value') SELECT column1, column2, ..., columnN FROM table_name WHERE partition_field='partition_value' ``` 这里假设需要更新的分区值为 partition_value,需要将 new_partition_field 设置为 new_partition_value,column1 到 columnN 表示表中的其他列。 3. 验证更新结果:更新分区数据后,需要验证新添加的字段是否已经生效。可以通过查询表中的数据来实现,例如: ``` SELECT * FROM table_name WHERE partition_field='partition_value' AND new_partition_field='new_partition_value' ``` 如果查询结果中包含了新添加的字段,并且字段值正确,则说明更新添加字段成功。 需要注意的是,如果需要为多个分区添加新的字段,需要重复执行上述步骤,为每个分区添加新的字段,并更新对应的分区数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值