You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS EMR 5.33.1环境Hive 2.3.7执行show tables抛出MetaException异常

AWS EMR 5.33.1环境下Hive执行show tables报错问题说明

环境信息

  • 集群版本:AWS EMR 5.33.1
  • 组件版本:Hive 2.3.7

问题现象

  1. 数据库创建流程正常,执行show databases;可正常返回已创建的库列表
  2. 表创建流程无任何异常抛出,执行describe <table>;可正确返回目标表的表结构信息
  3. 执行show tables;或show tables in <schema>;时均返回如下报错:
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask.MetaException(message:Got exception: org.apache.hadoop.hive.metastore.api.MetaException 
Exception thrown when executing query : 
SELECT A0.TBL_NAME,A0.TBL_NAME AS NUCORDER0 FROM TBLS A0 LEFT OUTER JOIN DBS B0 ON 
A0.DB_ID = B0.DB_ID WHERE B0.`NAME` = ? AND LOWER(A0.TBL_NAME) LIKE '_%' ESCAPE '\' ORDER BY NUCORDER0)

问题根本原因

该问题是Hive 2.3.7版本与高版本MySQL元数据库的转义逻辑不兼容导致的:
报错SQL中LIKE '_%' ESCAPE '\'的反斜杠转义符,在MySQL 8.0版本中需要二次转义才能被正确识别,而Hive 2.3.7版本生成元数据查询SQL时未适配该转义规则,导致SQL执行语法错误。EMR 5.33.1版本默认搭载的元数据库或Hive内核未包含该场景的兼容修复,因此会触发该问题。

解决方案

将EMR集群版本升级至emr-6.4.0及以上版本即可解决该问题,该版本的EMR搭载的Hive内核已修复转义符生成逻辑,可兼容高版本MySQL的转义规则。

内容的提问来源于stack exchange,提问作者Taipan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 08:24:10