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 | 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
原因分析:
当遇到这个问题,不用慌。这个错误其实不是我们的建表语句有问题,而跟DataGrip工具有关。
DataGrip 工具可以连接的数据库很多,例如mysql。mysql库会为数据建立索引,而hive不会。DataGrip工具默认在创建表时会查索引。但当连接的数据库是hive时,因为没有索引,所以报错。
解决方案:
不知道怎么可以让hive客户端不报错,但这个错误信息可以忽略。
DataGrip连接hive建表时报cannot recognize input near ‘show‘ ‘indexes‘ ‘on‘ in ddl statement错误相关推荐
- DataGrip连接hive
报错: org.apache.hive.org.apache.thrift.TApplicationException: Required field 'client_protocol' is uns ...
- Hive建表高阶语句、Hive视图
Hive建表高阶语句.Hive视图 Hive建表高阶语句 - CTAS and WITH 创建临时表 Hive视图(Views) 视图概述 应用场景 Hive视图操作 Hive侧视图(Lateral ...
- Python3 使用 pymysql 连接 MySQL 建表时出现 Warning3719 UTF8 警告
在学习 Python3 爬虫关系型数据库储存时,利用 pymysql 连接 MySQL 建表,测试用的代码如下,第一句 SQL 用于获取当前 MySQL 的版本信息,第二句 SQL 执行创建 spid ...
- hive建表与mysql建表的区别
现在大数据时代我们一般企业里都会将数据存储在hadoop这样的分布式系统里,我们可以编写hive-sql对数据进行分析,但是一般的业务系统是基于mysql这样的关系型数据库来进行可视化的,所以将hiv ...
- DataGrip连接Hive详细步骤
文章目录 前言 一.开启Hive服务 二.下载依赖jar包 三.配置步骤 总结 前言 我们知道Hive有三种使用方式:CLI命令行,HWI(hie web interface).Thrift客户端连 ...
- DataGrip 连接 Hive 1.1
DataGrip 连接 Hive 1.1 环境介绍 MacBook M1 + DataGrip 2021 + Hive 1.1 直接连接,报错,原因为 hive-jdbc 的版本太高 [ 08S01] ...
- 使用java代码编写脚本,把oracle建表语句变成hive建表语句
使用java代码编写脚本,把oracle建表语句变成hive建表语句 java代码 测试oracle.sql 生成hive创表语句 java代码 import java.io.File; import ...
- 【Hive】Hive建表基本语法及解释
Hive建表基本语法 CREATE [EXTERNAL] TABLE [IF NOT EXIST] table_name [(col_name data_type [COMMENT COL_COMME ...
- Oracle、Hive建表语句
1.Oracle建表 drop table T_PSSC_TRAN_PORTRAIT_CENTER; create table T_PSSC_TRAN_PORTRAIT_CENTER ( OBJ_ID ...
最新文章
- 【哈渡谱】带你玩转Hadoop之《CentOS虚拟机安装篇》
- Docker入门 一 安装Docker
- 电脑的基础知识_电脑键盘功能基础知识
- 最大匹配 人员分配[邻接表]
- shouldOverrideUrlLoading(拦截url加载,除资源请求的url) shouldInterceptRequest(拦截所有url请求)
- oracle 存储同步,Oracle数据库知识——存储过程篇
- mongodb php 删除,MongoDB / PHP:从数组中删除元素
- CentOS下FastDFS+Nginx(单点部署)事例
- 语言 泰克示波器程序_示波器再升级,EMI测试不求人
- java中级面试题 之基础篇
- flash cs4中3D特性之PerspectiveProjection属性设置
- [油猴脚本开发指南]第一个脚本-HelloWorld
- 长沙一佳一教育科技有限公司:短视频如何制作
- python代理池_进击:用Python搭建高匿代理池
- 渐变色按钮功能按钮绘制C语言示例
- 计算机系统瘫痪重装系统文件怎么保存,我的电脑已经瘫痪,进不去了,要重做系统,现在应该怎么把C盘备份呢? 爱问知识人...
- Microbiome | 宏基因组测序中减少样品中真核宿主的DNA污染
- skia 官方下载地址
- nema23_framesize NEMA23(56.4mm) 混合式步进电机 - MOONS'
- python 职业技能大赛备赛(2)
热门文章
- 惠普打印机墨盒更换教程_惠普打印机加墨教程:老司机教你
- 家庭教育机构如何线上线下灵活结合?
- using b tree mysql_浅析MysQL B-Tree 索引
- 自媒体短视频快速吸引粉丝的诀窍
- FPGA—DDS信号发生器笔记
- 小米手机修改ip代理服务器,小米手机如何设置和更改静态IP地址
- MAXENT模型的生物多样性生境模拟与保护优先区甄选、自然保护区布局优化及未来气候变化情景下自然保护区优化评估写作技巧
- 【Python学习笔记】6:用Gauss-Legendre求积公式近似求积分值
- 第1章第17节:如何使用备注功能对内容进行注释补充 [PowerPoint精美幻灯片实战教程]
- commons-poll、jedis-2.7.0、jedis.properties资源分享