【Hive问题-1】 ParseException line 1:5 cannot recognize input near ‘show‘ ‘indexes‘ ‘on‘ in ddl statemen

hive运行show database报错 hive> show database; NoViableAltException(70@[651:1: ddlStatement : ( createDatabaseStatement | switchDatabaseStatement | dropDatabaseStatement | createTableStatement | dropTableStatement | truncat... 阅读详情

一、背景

使用Navicat\Datagrip\dbeaver等工具连接Hive进行操作时,执行DDL语句后,查看hiveserver2的运行日志时,发现Error。

二、问题描述

具体报错内容如下:

FAILED: ParseException line 1:5 cannot recognize input near 'show' 'indexes' 'on' in ddl statement
NoViableAltException(153@[917:1: ddlStatement : ( createDatabaseStatement | switchDatabaseStatement | dropDatabaseStatement | createTableStatement | dropTableStatement | truncateTableStatement | alterStatement | descStatement | showStatement | metastoreCheck | createViewStatement | createMaterializedViewStatement | dropViewStatement | dropMaterializedViewStatement | createFunctionStatement | createMacroStatement | dropFunctionStatement | reloadFunctionStatement | dropMacroStatement | analyzeStatement | lockStatement | unlockStatement | lockDatabase | unlockDatabase | createRoleStatement | dropRoleStatement | ( grantPrivileges )=> grantPrivileges | ( revokePrivileges )=> revokePrivileges | showGrants | showRoleGrants | showRolePrincipals | showRoles | grantRole | revokeRole | setRole | showCurrentRole | abortTransactionStatement | killQueryStatement | resourcePlanDdlStatements );])
	at org.antlr.runtime.DFA.noViableAlt(DFA.java:158)
	at org.antlr.runtime.DFA.predict(DFA.java:116)
	at org.apache.hadoop.hive.ql.parse.HiveParser.ddlStatement(HiveParser.java:4244)
	at org.apache.hadoop.hive.ql.parse.HiveParser.execStatement(HiveParser.java:2494)
	at org.apache.hadoop.hive.ql.parse.HiveParser.statement(HiveParser.java:1420)
	at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:220)
	at org.apache.hadoop.hive.ql.parse.ParseUtils.parse(ParseUtils.java:74)
	at org.apache.hadoop.hive.ql.parse.ParseUtils.parse(ParseUtils.java:67)
	at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:616)
	at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1826)
	at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1773)
	at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1768)
	at org.apache.hadoop.hive.ql.reexec.ReExecDriver.compileAndRespond(ReExecDriver.java:126)
	at org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:197)
	at org.apache.hive.service.cli.operation.SQLOperation.runInternal(SQLOperation.java:260)
	at org.apache.hive.service.cli.operation.Operation.run(Operation.java:247)
	at org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementInternal(HiveSessionImpl.java:541)
	at org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementAsync(HiveSessionImpl.java:527)
	at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:78)
	at org.apache.hive.service.cli.session.HiveSessionProxy.access$000(HiveSessionProxy.java:36)
	at org.apache.hive.service.cli.session.HiveSessionProxy$1.run(HiveSessionProxy.java:63)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:422)
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1729)
	at org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:59)
	at com.sun.proxy.$Proxy44.executeStatementAsync(Unknown Source)
	at org.apache.hive.service.cli.CLIService.executeStatementAsync(CLIService.java:312)
	at org.apache.hive.service.cli.thrift.ThriftCLIService.ExecuteStatement(ThriftCLIService.java:562)
	at org.apache.hive.service.rpc.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1557)
	at org.apache.hive.service.rpc.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1542)
	at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
	at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
	at org.apache.hive.service.auth.TSetIpAddressProcessor.process(TSetIpAddressProcessor.java:56)
	at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
FAILED: ParseException line 1:5 cannot recognize input near 'show' 'indexes' 'on' in ddl statement

DDL实际语句是执行成功的,但是日志出现这个报错。

三、分析原因

早期的Hive版本拥有索引功能,因为我使用的Hive时3.x系列,已移除该功能(市面上的使用Hive的版本绝大多数都已不支持索引功能了)。但是在使用Navicat\Datagrip\dbeaver等工具连接Hive时,因为这些工具可能会执行扫描索引的语句,但实际Hive已不支持该语法,所以造成报错。

四、解决方案

该错误不是Hive自身导致的,可以忽略错误并继续执行其他操作,一般是不会影响实际的数据操作。(推荐)

或者也可以更新或配置工具,确保 Navicat\Datagrip\dbeaver 兼容当前Hive版本(不推荐,成本较高,可能会出现其他衍生问题)。

DataGrip连接hive建表时报cannot recognize input near ‘show‘ ‘indexes‘ ‘on‘ in ddl statement错误 项目场景: 离线数仓项目中用DataGrip连接hive,建立数仓表 问题描述: 在执行sql语句时,Hiveservice2客户端报错,错误信息如下。显示信息表示ddl语句中“show” "index" 不对: NoViableAltException(153@[917:1: ddlStatement : ( createDatabaseStatement | switchDatabaseStatement | dropDatabaseStatement | createTableStatemen 阅读详情

相关推荐

union all的坑, FAILED: ParseException cannot recognize input near ‘(‘ ‘SELECT‘ ‘‘ in select clause

union all后面需要是用select查出的子表,不能是直接写一个子表名在那!!! SELECT c1, c2 from t1 where ...... union all SELECT c1, c2 from t2 where ...... -- 正确 SELECT c1, c2 from t1 where ...... union all ( SELECT c...

Top5软件工程硕士,先后在京东、字节从事多年Java后端开发、实时和离线大数据开发 1万+

数据仓库环境准备Hive常见问题及解决方式

数据仓库环境准备Hive常见问题及解决方式

Bigdata_shit的博客 3554

基于bootstrap+Java的图书管理系统(任务书)

10] 倪甜弟,周晓波,王相喜.基于JSP图书馆自习室预约系统的设计与实现[J].现代计算机, 2024, 30(9):117-120.DOI:10.3969/j.issn.1007-1423.2024.09.023.[2] 陈明雪,赵勇,周小丽,等.基于Node.js和Bootstrap的图书管理系统设计与研究[J].现代信息科技, 2021, 5(24):4.[9] 杨婷婷.基于VOSviewer的图书馆管理系统研究的可视化分析[J].现代信息科技, 2023, 7(3):123-126.

毕业作品网站 645

DataGrip连接Hive执行DDL操作报错:「FAILED: ParseException line 1:5 cannot recognize input near ‘show‘ ‘indexe

DataGrip连接Hive执行DDL操作报错:「FAILED: ParseException line 1:5 cannot recognize input near 'show' 'indexe

优快云2022博客之星Top39;华为云博主7&,优快云、稀土掘金、微信公众号、阿里云开发者社区、腾讯云社区、博客园、知乎、51CTO同名博主WHYBIGDATA; 3200

C语言实现俄罗斯方块

使用C语言完成俄罗斯方块。《俄罗斯方块》的基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。由小方块组成的不同形状的板块陆续从屏幕上方落下来,玩家通过调整板块的位置和方向,使它们在屏幕底部拼出完整的一条或几条。这些完整的横条会随即消失,给新落下来的板块腾出空间,与此同时,玩家得到分数奖励。没有被消除掉的方块不断堆积起来,一旦堆到屏幕顶端,玩家便告输,游戏结束。顾名思义,俄罗斯方块自然是俄罗斯人发明的。

qq_54169998的博客 7万+

用示波器抓一次MIPI D-PHY的波形,手把手教你读懂HS模式和LP模式的切换时序

本文详细解析了MIPI D-PHY信号的双模切换机制,包括高速模式(HS)和低功耗模式(LP)的波形捕获与诊断技巧。通过示波器设置、关键状态分析和实战案例,帮助工程师快速定位信号完整性问题,提升调试效率。

weixin_30696427的博客 455

一日一坑之:hadoop3.x VS hive3.x

最近安装了新版本的hadoop3.x版本,按照老思路此时需要安装hive3.x用来搭配我们崭新的hadoop,重新翻出来我的泛黄的hive2.x版本的安装说明书安装了一遍,就在此时坑来了。 坑一:FAILED: ParseException line 1:5 cannot recognize input near 'show' 'database' '<EOF>' in ddl st...

TianyeWang的博客 3452

从零开始学嵌入式之STM32——1.什么是STM32

它是ST公司推出的一系列单片机的统称。ST----指的是ST公司----意法半导体。意法半导体,成立于1987年,是由意大利的SGS微电子公司和法国的Thomson半导体公司合并而成。ARM目前主要是ARM架构处理器及外围组件的电路设计方案,知识产权授权的形式收取费用,其他公司根据ARM的方案设计出CPU产品。,它以应用为核心,软硬件可裁剪,旨在实现对设备的控制、监测或辅助功能,区别于通用计算机(如 PC、服务器)的 “一机多用” 属性。在嵌入式领域,目前主流的是cortex-M3内核推出的芯片。

qshdyy的博客 1854

hive报错: cannot recognize input near ‘<EOF>‘ ‘<EOF>‘ ‘<EOF>‘ in subquery source

关注微信公共号:小程在线 关注优快云博客:程志伟的博客 hive版本:2.1.1 报错: FAILED: ParseException line 28:35 cannot recognize input near '<EOF>' '<EOF>' '<EOF>' in subquery source 解决方法: 给字表添加别名。 报错SQL: select a from ( select a,b,c,d from asdf); 正确SQL:

程志伟的博客 2万+

CIC-IDS数据集特征介绍

###1、简介 通信安全机构(CSE)与加拿大网络安全研究所(CIC)合作项目,该项目对自1998年以来现有的11个数据集的评估表明,大多数数据集(比如经典的KDDCUP99,NSLKDD等)已经过时且不可靠。其中一些数据集缺乏流量多样性和容量,一些数据集没有涵盖各种已知的攻击,而另一些数据集将数据包有效载荷数据匿名化,这不能反映当前的趋势。有些还缺少特征集和元数据。 CIC-IDS-2017数据集包含良性和最新的常见攻击,类似真实世界数据(PCAPs)。 它的数据采集截至2017...

蓝亚之舟的博客 3万+

ABAP CDS SELECT, parameters 全面解析:把参数化视图玩明白(含可运行示例)

这篇技术博客介绍了ABAP CDS中参数化视图的用法与实践。文章从业务需求出发,解释了参数化视图的必要性,并详细说明了语法规则、参数类型匹配、视图内部参数引用等关键点。重点展示了在JOIN和ASSOCIATION中传递参数的写法,提供了航线分析的完整业务案例和可运行代码示例。文章还总结了视图实体与DDIC视图的差异、会话变量使用技巧等实践要点,特别强调了JOIN中必须显式传参的语法要求。通过真实场景演示,帮助开发者掌握参数化CDS的高效应用。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 362

hive -f 报错 FAILED:ParseException line 1:5 cannot recognize in ‘set‘ ‘hive‘ ‘.‘ instatement

如何处理hive执行BOM头文件报错的问题

weixin_41634597的博客 2875

手把手教你学 MATLAB 实战训练(6.5):基础实战实例

MATLAB 是一款强大的数学软件,广泛应用于工程计算、信号处理、控制系统设计、图像处理等领域。学习 MATLAB 不仅可以提高你的编程技能,还能帮助你解决实际的数学和工程问题。下面我将通过几个实战训练实例来教你如何使用 MATLAB。

xiaoheshang_123的博客 366

Hive:Error while compiling statement: FAILED: ParseException cannot recognize input near '<EOF>' '<

一、Hive SQL 报错如下: Error: Error while compiling statement: FAILED: ParseException line 79:17 cannot recognize input near '<EOF>' '<EOF>' '<EOF>' in subquery source (state=42000,code=4...

三妹的博客 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Hive中遇到的问题记录

collection 本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ct...

like_red的博客 6392

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

FAILED: Parse Error: line 1:55 cannot recognize input near 'row' 'format' 'delimited' in select clau

今天在操作hive查询语句的时候,出现了这个错误:FAILED: Parse Error: line 1:55 cannot recognize input near ‘row’ ‘format’ ‘delimited’ in select clause,感觉很悲伤,以前的语句是没有问题的,现在主要写一下解决问题的思路: 1、仔细检查语句,仔细检查语句,仔细检查语句(重要的话说三遍,以前可以用的,...

为援不可图 2003

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Hive常见问题

一. Both left and right aliases encountered in JOIN’*’ 以及 cannot recognize input near in sub 1.cannot recognize 这个错误主要由于每一个子查询的括号外面最好是能够有别名,所以在select * from (select * from table_name) a后面添加一个子查询的别名,就可...

qq_39572733的博客 1738

hive学习 cannot recognize input near ‘user‘ ‘.‘ ‘user_id‘ in selection target 表的别名不对

今天执行hql时,遇到问题。 一直报错说不能识别user.user_id,估计是user别名用得不对。后来我修改了 表的别名为没出现的 表名就执行成功了 hive (hive)> select user.user_id,user.date_dt,user.low_carbon > from > user_low_carbon user > join > (select

weixin_45813351的博客 7229

Hive笔记

使用Hive REGEXP_EXTRACT()函数删除非字母数字或非数字字符 获取数字 SELECT regexp_replace("7X789", "[^0-9]+", "") FROM table_name

qq_34067058的博客 1820

hive 不能识别子查询 cannot recognize input near in subquery

在metabase编写hive,出现下面问题,或者在其他代码中也会遇到相同的问题, Error while compiling statement: FAILED: ParseException line 159:9 cannot recognize input near '<EOF>' '<EOF>' '<EOF>' in subquery source 这是因为你没有给子查询写别名,记住,给每一个子查询都写上别名,才能避免出现一些问题,如: select * f

youhuakongzhi的博客 2万+

大数据项目实战之数据仓库:电商数据仓库系统——第6章 数据仓库环境准备

大数据项目实战之数据仓库:电商数据仓库系统——第6章 数据仓库环境准备

yiluohan0307的专栏 1340

hive函数处理中包含英文分号时语句报错:cannot recognize input near ‘<EOF>‘ ‘<EOF>‘ ‘<EOF>‘

这是因为在hive中英文分号;无法识别和转义,要使用ASCII码来代替英文分号;使用 \073 表示。

weixin_54428913的博客 1250

HIVE SQL cannot recognize input near ‘(‘ ‘select‘ ‘uid‘ in joinSource

HIVE SQL cannot recognize input near '(' 'select' 'uid' in joinSource 排除子查询少别名的问题后,另一个可能

weixin_45759139的博客 7539

hive使用遇到的问题 cannot recognize input near in subquery

cannot recognize input near in subquery 1、HQL子查询别名问题 备注:子查询需要加上别名 否则报错。 HQL的书写,select * from (select * from table) ; 执行此HQL,应该会报错:ql.Driver (SessionState.java:printError(960)) - FAILED:...

weixin_42201058的博客 7万+

Hive常见错误

Hive常见错误开窗函数执行问题解决方案 开窗函数执行问题 select mid_id, dt, rank() over (partition by mid_id order by dt) rk from ( select mid_id, dt from dws_uv_detail_daycount where dt>=date_add('2020-06-25',-6) group by mid_id,dt );

dxy 3381
上一篇: 报错:由于找不到VCRUNTIME_140_1.dll,无法继续执行代码
下一篇: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

大数据解说猿SHOKO

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

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

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

打赏作者

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

抵扣说明:

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

余额充值