文档首页/ MapReduce服务 MRS/ 用户指南(安卡拉区域)/ 故障排除/ 使用Hive/ Hive执行insert into语句报错,命令界面报错信息不明
更新时间:2024-11-29 GMT+08:00

Hive执行insert into语句报错,命令界面报错信息不明

用户问题

客户使用MRS Hive执行一条SQL报错。

问题现象

客户使用MRS Hive执行一条SQL,有如下报错:

图1 使用MRS Hive执行SQL报错

原因分析

  1. 查看Hiveserver日志,在对应时间点,有如下的报错信息。
    图2 Hiveserver日志
  2. 在如上报错信息中未发现重要信息,但从堆栈中发现metadata字样,怀疑报错是和metastore有关。
    图3 堆栈中metadata字样
  3. 查看metastore日志,发现如下报错。
    图4 metastore日志

    查看如上错误的上下文,确定是本次执行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. 执行如下命令登录高斯DB。

    gsql -p 20051 -d hivemeta -U username -W password

  3. 执行如下命令修改限制。

    alter table PARTITION_PARAMS alter column PARAM_VALUE type varchar(6000);