无法从配置单元cli运行hpl/sql查询

qlvxas9a  于 2021-06-28  发布在  Hive
关注(0)|答案(2)|浏览(455)

我尝试运行“dbms_output.put_line('this is hpl/sql');”在hivecli中,它给出了以下异常。

NoViableAltException(26@[])
    at org.apache.hadoop.hive.ql.parse.HiveParser.statement(HiveParser.java:1140)
    at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:204)
    at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:166)
    at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:404)
    at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:329)
    at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1158)
    at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1253)
    at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1084)
    at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1072)
    at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:232)
    at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:183)
    at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:399)
    at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:776)
    at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:714)
    at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:641)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:136)

失败:parseexception行1:0无法识别“dbms\u output”附近的输入。“put\u line”
我正在使用Hive2.1.0。根据hpl/sql文档,hpl/sql自2.0版起就包含在apachehive中。
在配置单元中启用hpl/sql支持是否需要任何其他配置更改。

db2dz4w8

db2dz4w81#

在hpl/sql中编写函数,在hive中注册并使用它。

fxnxkyjh

fxnxkyjh2#

无法直接从配置单元cli运行hpl/sql查询。我们应该用1。hplsql-e“query”或2。hplsql-e sql/hql文件。
例如-

hplsql -e 'dbms_output.put_line(`this is hplsql`)'; 
or  
hplsql -e 'PRINT `this is hplsql`';

相关问题