× Heads up!

Aqua Data Studio / nhilam

Follow
IDE for Relational Databases
×
anilkalshetti reported 2015-10-26T08:04:29Z  · tariqrahiman last modified 2015-12-07T08:35:51Z

Hive- Alter Table generates wrong SQL Script


Priority Low
Complexity Unknown
Component Hive
Version 17.0

Aqua Data Studio 17.0.0-rc-22
Build #: 46570
Built on: 2015-Oct-22 03:35:55 PM     
Database: Hive 1.2.1
Hortonworks HDP 2.3.0 - Hive 1.2.1
Drivers Link- Hive 1.2.1
[ACID Transactions enabled] 
Connection Type: HiveServer 2
Distribution: Hortonworks

Issue: Hive- Alter Table generates wrong SQL Script

Steps:
1. Create a table using below SQL script.

CREATE TABLE `teststorage`  ( 
`c1` string, 
`c2` string, 
`c3` string)
ROW FORMAT DELIMITED
STORED AS TEXTFILE
GO

2. Right click on this statement, select 'Alter Table' option
In Storage Tab, Enter below values in respective 3 parameter fields
Clustered By  : c1
Number of Buckets: 12


Fields Terminated By:  ,
// , [comma]

3. Click on Preview SQL Tab, and Observe the script generated 
ALTER TABLE teststorage
CLUSTERED BY (c1) 
INTO 13 BUCKETSALTER TABLE teststorage SET SERDEPROPERTIES ('field.delim'=',')
GO
 

4. Here, First and Second Alter statements are not separated by 'GO' keyword,
5. Click on Alter button, it displays error message:

Error while compiling statement: FAILED: ParseException line 3:8 mismatched input 

'BUCKETSALTER' expecting BUCKETS near '13' in table buckets specification


SQL Log Script:

ALTER
TABLE teststorage CLUSTERED BY (c1) 
INTO
13 BUCKETSALTER TABLE teststorage 
SET
SERDEPROPERTIES ('field.delim'=',')

 

SQL Log Exception:

org.apache.hive.service.cli.HiveSQLException: Error while compiling statement: FAILED: ParseException line 3:8 mismatched input 'BUCKETSALTER' expecting BUCKETS near '13' in table buckets specification
at org.apache.hive.jdbc.Utils.verifySuccess(Utils.java:256)
at org.apache.hive.jdbc.Utils.verifySuccessWithInfo(Utils.java:242)
at org.apache.hive.jdbc.HiveStatement.execute(HiveStatement.java:254)
at org.apache.hive.jdbc.HiveStatement.executeUpdate(HiveStatement.java:406)
at com.aquafold.aquacore.open.rdbms.drivers.hive.Wꏵ⡲ꊞ⡴8boolean.executeUpdate(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.dᢋ⠙ꆯ͗ifpackage.executeUpdate(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.Nꁙᜧꀶꎄbreak.a(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.Nᡠꁉꒆꅸ.onOk(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.uꀨ⠥͈ᡂ.action(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.Kꃫᛣꄈꒃ2double.actionPerformed(Unknown Source)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at com.jidesoft.plaf.basic.BasicJideButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
at java.awt.Component.processMouseEvent(Component.java:6525)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6290)
at java.awt.Container.processEvent(Container.java:2234)
at java.awt.Component.dispatchEventImpl(Component.java:4881)
at java.awt.Container.dispatchEventImpl(Container.java:2292)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
at java.awt.Container.dispatchEventImpl(Container.java:2278)
at java.awt.Window.dispatchEventImpl(Window.java:2750)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:751)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:702)
at java.awt.EventQueue$3.run(EventQueue.java:696)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:724)
at java.awt.EventQueue$4.run(EventQueue.java:722)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:721)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: org.apache.hive.service.cli.HiveSQLException: Error while compiling statement: FAILED: ParseException line 3:8 mismatched input 'BUCKETSALTER' expecting BUCKETS near '13' in table buckets specification
at org.apache.hive.service.cli.operation.Operation.toSQLException(Operation.java:315)
at org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:112)
at org.apache.hive.service.cli.operation.SQLOperation.runInternal(SQLOperation.java:181)
at org.apache.hive.service.cli.operation.Operation.run(Operation.java:257)
at org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementInternal(HiveSessionImpl.java:388)
at org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementAsync(HiveSessionImpl.java:375)
at org.apache.hive.service.cli.CLIService.executeStatementAsync(CLIService.java:274)
at org.apache.hive.service.cli.thrift.ThriftCLIService.ExecuteStatement(ThriftCLIService.java:486)
at org.apache.hive.service.cli.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1313)
at org.apache.hive.service.cli.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1298)
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:285)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: org.apache.hadoop.hive.ql.parse.ParseException:line 3:8 mismatched input 'BUCKETSALTER' expecting BUCKETS near '13' in table buckets specification
at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:205)
at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:166)
at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:396)
at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:308)
at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1122)
at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1116)
at org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:110)
... 15 more
 

Observations:
1] Broken Build: ADS17.0.0-rc-20

3 attachments

Issue #13797

Closed
Fixed
Resolved 2015-10-26T16:37:15Z
 
 
Completion
No due date
Fixed Build ADS 18.0.0-dev-9 & ADS 17.0.0-rc-24
No time estimate

About AquaClusters Privacy Policy Support Version - 19.0.2-4 AquaFold, Inc Copyright © 2007-2017