2016-11-07 10 views
0

"dbms_output.put_line( 'This is HPL/Sql');" Hive cliからは以下の例外があります。はHIVEからHPL/SQLクエリを実行できませんcli

NoViableAltException([email protected][]) 
    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) 

FAILED:はParseException行1:0 'DBMS_OUTPUT' '付近の入力を認識することはできません' 'put_line'

私はHive 2.1.0を使用しています。 (HPL/sqlのドキュメントによる)HPL/SQLはバージョン2.0以降のApache Hiveに含まれています。

ハイブでhpl/sqlサポートを有効にするために追加の構成変更が必要ですか。

答えて

1

Hive CliからHPL/SQLクエリを直接実行することはできません。 1. hplsql -e 'query'または2. hplsql -e sql/hqlファイルを使用する必要があります。 HPL/SQLでの例 -

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

書き込み機能については

、ハイブにそれを登録し、それを使用してください。

+0

これは質問に答えるかもしれませんが、簡単にOPに説明することを検討してください –

関連する問題