hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Wang Hao (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HIVE-9171) After use init file in beeline,the consoleReader is setted null.
Date Fri, 19 Dec 2014 03:55:13 GMT

     [ https://issues.apache.org/jira/browse/HIVE-9171?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Wang Hao updated HIVE-9171:
---------------------------
    Description: 
when I use init file in beeline ,it has some exception:
./beeline -i init.sql -f /tmp/test.sql  --verbose

0: jdbc:hive2://hadoop015.dx.momo.com:10000> SELECT
Error: Error while compiling statement: FAILED: ParseException line 1:6 cannot recognize input
near '<EOF>' '<EOF>' '<EOF>' in select clause (state=42000,code=40000)
org.apache.hive.service.cli.HiveSQLException: Error while compiling statement: FAILED: ParseException
line 1:6 cannot recognize input near '<EOF>' '<EOF>' '<EOF>' in select clause
	at org.apache.hive.jdbc.Utils.verifySuccess(Utils.java:231)
	at org.apache.hive.jdbc.Utils.verifySuccessWithInfo(Utils.java:217)
	at org.apache.hive.jdbc.HiveStatement.execute(HiveStatement.java:254)
	at org.apache.hive.beeline.Commands.execute(Commands.java:784)
	at org.apache.hive.beeline.Commands.sql(Commands.java:665)
	at org.apache.hive.beeline.BeeLine.dispatch(BeeLine.java:933)
	at org.apache.hive.beeline.BeeLine.execute(BeeLine.java:796)
	at org.apache.hive.beeline.BeeLine.executeFile(BeeLine.java:781)
	at org.apache.hive.beeline.BeeLine.begin(BeeLine.java:726)
	at org.apache.hive.beeline.BeeLine.mainWithInputRedirection(BeeLine.java:465)
	at org.apache.hive.beeline.BeeLine.main(BeeLine.java:451)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.apache.hadoop.util.RunJar.main(RunJar.java:212)
Caused by: org.apache.hive.service.cli.HiveSQLException: Error while compiling statement:
FAILED: ParseException line 1:6 cannot recognize input near '<EOF>' '<EOF>' '<EOF>'
in select clause
	at org.apache.hive.service.cli.operation.Operation.toSQLException(Operation.java:314)
	at org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:102)
	at org.apache.hive.service.cli.operation.SQLOperation.runInternal(SQLOperation.java:171)
	at org.apache.hive.service.cli.operation.Operation.run(Operation.java:256)
	at org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementInternal(HiveSessionImpl.java:376)
	at org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementAsync(HiveSessionImpl.java:363)
	at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:79)
	at org.apache.hive.service.cli.session.HiveSessionProxy.access$000(HiveSessionProxy.java:37)
	at org.apache.hive.service.cli.session.HiveSessionProxy$1.run(HiveSessionProxy.java:64)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:415)
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1614)
	at org.apache.hadoop.hive.shims.HadoopShimsSecure.doAs(HadoopShimsSecure.java:536)
	at org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:60)
	at com.sun.proxy.$Proxy14.executeStatementAsync(Unknown Source)
	at org.apache.hive.service.cli.CLIService.executeStatementAsync(CLIService.java:247)
	at org.apache.hive.service.cli.thrift.ThriftCLIService.ExecuteStatement(ThriftCLIService.java:401)
	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:206)
	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
1:6 cannot recognize input near '<EOF>' '<EOF>' '<EOF>' in select clause
	at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:202)
	at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:166)
	at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:389)
	at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:303)
	at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1067)
	at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1061)
	at org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:100)
	... 27 more



In BeeLine.java,I found the consoleReader will be setter "null" in function runInit. And I
modify this function ,
int runInit() {
        String initFile = getOpts().getInitFile();
        ConsoleReader csr = consoleReader;
        if (initFile != null) {
            info("Running init script " + initFile);
            try {
                return executeFile(initFile);
            } finally {
                exit = false;
                consoleReader=csr;
            }
        }
        return ERRNO_OK;
    }

Try again,my command  is work.

  was:
when I use init file in beeline ,it has some exception:
./beeline -i init.sql -f /tmp/test.sql  --verbose

0: jdbc:hive2://hadoop015.dx.momo.com:10000> SELECT
console reader is null
end with fenhao false
is allow multi line true
Error: Error while compiling statement: FAILED: ParseException line 1:6 cannot recognize input
near '<EOF>' '<EOF>' '<EOF>' in select clause (state=42000,code=40000)
org.apache.hive.service.cli.HiveSQLException: Error while compiling statement: FAILED: ParseException
line 1:6 cannot recognize input near '<EOF>' '<EOF>' '<EOF>' in select clause
	at org.apache.hive.jdbc.Utils.verifySuccess(Utils.java:231)
	at org.apache.hive.jdbc.Utils.verifySuccessWithInfo(Utils.java:217)
	at org.apache.hive.jdbc.HiveStatement.execute(HiveStatement.java:254)
	at org.apache.hive.beeline.Commands.execute(Commands.java:784)
	at org.apache.hive.beeline.Commands.sql(Commands.java:665)
	at org.apache.hive.beeline.BeeLine.dispatch(BeeLine.java:933)
	at org.apache.hive.beeline.BeeLine.execute(BeeLine.java:796)
	at org.apache.hive.beeline.BeeLine.executeFile(BeeLine.java:781)
	at org.apache.hive.beeline.BeeLine.begin(BeeLine.java:726)
	at org.apache.hive.beeline.BeeLine.mainWithInputRedirection(BeeLine.java:465)
	at org.apache.hive.beeline.BeeLine.main(BeeLine.java:451)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.apache.hadoop.util.RunJar.main(RunJar.java:212)
Caused by: org.apache.hive.service.cli.HiveSQLException: Error while compiling statement:
FAILED: ParseException line 1:6 cannot recognize input near '<EOF>' '<EOF>' '<EOF>'
in select clause
	at org.apache.hive.service.cli.operation.Operation.toSQLException(Operation.java:314)
	at org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:102)
	at org.apache.hive.service.cli.operation.SQLOperation.runInternal(SQLOperation.java:171)
	at org.apache.hive.service.cli.operation.Operation.run(Operation.java:256)
	at org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementInternal(HiveSessionImpl.java:376)
	at org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementAsync(HiveSessionImpl.java:363)
	at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:79)
	at org.apache.hive.service.cli.session.HiveSessionProxy.access$000(HiveSessionProxy.java:37)
	at org.apache.hive.service.cli.session.HiveSessionProxy$1.run(HiveSessionProxy.java:64)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:415)
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1614)
	at org.apache.hadoop.hive.shims.HadoopShimsSecure.doAs(HadoopShimsSecure.java:536)
	at org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:60)
	at com.sun.proxy.$Proxy14.executeStatementAsync(Unknown Source)
	at org.apache.hive.service.cli.CLIService.executeStatementAsync(CLIService.java:247)
	at org.apache.hive.service.cli.thrift.ThriftCLIService.ExecuteStatement(ThriftCLIService.java:401)
	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:206)
	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
1:6 cannot recognize input near '<EOF>' '<EOF>' '<EOF>' in select clause
	at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:202)
	at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:166)
	at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:389)
	at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:303)
	at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1067)
	at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1061)
	at org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:100)
	... 27 more



In BeeLine.java,I found the consoleReader will be setter "null" in function runInit. And I
modify this function ,
int runInit() {
        String initFile = getOpts().getInitFile();
        ConsoleReader csr = consoleReader;
        if (initFile != null) {
            info("Running init script " + initFile);
            try {
                return executeFile(initFile);
            } finally {
                exit = false;
                consoleReader=csr;
            }
        }
        return ERRNO_OK;
    }

Try again,my command  is work.


> After use init file in beeline,the consoleReader is setted null.
> ----------------------------------------------------------------
>
>                 Key: HIVE-9171
>                 URL: https://issues.apache.org/jira/browse/HIVE-9171
>             Project: Hive
>          Issue Type: Bug
>          Components: Beeline
>    Affects Versions: 0.14.0
>            Reporter: Wang Hao
>
> when I use init file in beeline ,it has some exception:
> ./beeline -i init.sql -f /tmp/test.sql  --verbose
> 0: jdbc:hive2://hadoop015.dx.momo.com:10000> SELECT
> Error: Error while compiling statement: FAILED: ParseException line 1:6 cannot recognize
input near '<EOF>' '<EOF>' '<EOF>' in select clause (state=42000,code=40000)
> org.apache.hive.service.cli.HiveSQLException: Error while compiling statement: FAILED:
ParseException line 1:6 cannot recognize input near '<EOF>' '<EOF>' '<EOF>'
in select clause
> 	at org.apache.hive.jdbc.Utils.verifySuccess(Utils.java:231)
> 	at org.apache.hive.jdbc.Utils.verifySuccessWithInfo(Utils.java:217)
> 	at org.apache.hive.jdbc.HiveStatement.execute(HiveStatement.java:254)
> 	at org.apache.hive.beeline.Commands.execute(Commands.java:784)
> 	at org.apache.hive.beeline.Commands.sql(Commands.java:665)
> 	at org.apache.hive.beeline.BeeLine.dispatch(BeeLine.java:933)
> 	at org.apache.hive.beeline.BeeLine.execute(BeeLine.java:796)
> 	at org.apache.hive.beeline.BeeLine.executeFile(BeeLine.java:781)
> 	at org.apache.hive.beeline.BeeLine.begin(BeeLine.java:726)
> 	at org.apache.hive.beeline.BeeLine.mainWithInputRedirection(BeeLine.java:465)
> 	at org.apache.hive.beeline.BeeLine.main(BeeLine.java:451)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:606)
> 	at org.apache.hadoop.util.RunJar.main(RunJar.java:212)
> Caused by: org.apache.hive.service.cli.HiveSQLException: Error while compiling statement:
FAILED: ParseException line 1:6 cannot recognize input near '<EOF>' '<EOF>' '<EOF>'
in select clause
> 	at org.apache.hive.service.cli.operation.Operation.toSQLException(Operation.java:314)
> 	at org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:102)
> 	at org.apache.hive.service.cli.operation.SQLOperation.runInternal(SQLOperation.java:171)
> 	at org.apache.hive.service.cli.operation.Operation.run(Operation.java:256)
> 	at org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementInternal(HiveSessionImpl.java:376)
> 	at org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementAsync(HiveSessionImpl.java:363)
> 	at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:606)
> 	at org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:79)
> 	at org.apache.hive.service.cli.session.HiveSessionProxy.access$000(HiveSessionProxy.java:37)
> 	at org.apache.hive.service.cli.session.HiveSessionProxy$1.run(HiveSessionProxy.java:64)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at javax.security.auth.Subject.doAs(Subject.java:415)
> 	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1614)
> 	at org.apache.hadoop.hive.shims.HadoopShimsSecure.doAs(HadoopShimsSecure.java:536)
> 	at org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:60)
> 	at com.sun.proxy.$Proxy14.executeStatementAsync(Unknown Source)
> 	at org.apache.hive.service.cli.CLIService.executeStatementAsync(CLIService.java:247)
> 	at org.apache.hive.service.cli.thrift.ThriftCLIService.ExecuteStatement(ThriftCLIService.java:401)
> 	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:206)
> 	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
1:6 cannot recognize input near '<EOF>' '<EOF>' '<EOF>' in select clause
> 	at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:202)
> 	at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:166)
> 	at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:389)
> 	at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:303)
> 	at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1067)
> 	at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1061)
> 	at org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:100)
> 	... 27 more
> In BeeLine.java,I found the consoleReader will be setter "null" in function runInit.
And I modify this function ,
> int runInit() {
>         String initFile = getOpts().getInitFile();
>         ConsoleReader csr = consoleReader;
>         if (initFile != null) {
>             info("Running init script " + initFile);
>             try {
>                 return executeFile(initFile);
>             } finally {
>                 exit = false;
>                 consoleReader=csr;
>             }
>         }
>         return ERRNO_OK;
>     }
> Try again,my command  is work.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message