
# Hive执行insert into语句报错
#### 问题现象
使用MRS Hive执行一条SQL，有如下报错：
图1使用MRS Hive执行SQL报错   
![](https://support.huaweicloud.com/trouble-mrs/zh-cn_image_0264281844.png "点击放大")
#### 原因分析
1. 查看HiveServer日志，在对应时间点，有如下的报错信息。
   图2HiveServer日志   
   ![](https://support.huaweicloud.com/trouble-mrs/zh-cn_image_0264281759.png "点击放大") 
2. 在如上报错信息中未发现重要信息，但从堆栈中发现metadata字样，怀疑报错是和MetaStore有关。
   图3堆栈中metadata字样   
   ![](https://support.huaweicloud.com/trouble-mrs/zh-cn_image_0264281897.png "点击放大") 
3. 查看MetaStore日志，发现如下报错。
   图4MetaStore日志   
   ![](https://support.huaweicloud.com/trouble-mrs/zh-cn_image_0264281934.png "点击放大")
   查看如上错误的上下文，确定是本次执行SQL的报错，在报错信息里面发现如下内容：
   ```
   Caused by: org.postgresql.util.PSQLException: ERROR: value too long for type character varying(4000)
   ```
   确认是该条SQL对表的操作，所有列的字节长度超过4000的限制，导致SQL执行失败，需要修改该限制。
   
 
#### 处理步骤
1. 以**root** 用户登录集群任意一个Master节点，并执行**su - omm** 命令切换到**omm**用户。
2. 执行如下命令登录数据库。命令中如果携带认证密码信息可能存在安全风险，在执行命令前建议关闭系统的history命令记录功能，避免信息泄露。 
   **gsql -p 20051 -d hivemeta -U** *username* **-W** *password*
   
   
3. 执行如下命令修改限制。 
   alter table PARTITION_PARAMS alter column PARAM_VALUE type varchar(6000);
   
   
 
