2016-11-07 1 views
0

Ich habe versucht, "dbms_output.put_line ('Dies ist HPL/Sql');" von Hive cli hat es unter Ausnahme gegeben.nicht in der Lage, HPL/SQL-Abfrage von HIVE 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 Linie. 1: 0-Eingang in der Nähe von 'dbms_output' nicht erkennen kann, '' 'put_line'

Ich benutze Hive 2.1.0. gemäß HPL/sql-Dokumentation HPL/SQL ist in Apache Hive seit Version 2.0 enthalten.

Sind zusätzliche Konfigurationsänderungen erforderlich, um die Unterstützung von hpl/sql in der Struktur zu aktivieren?

Antwort

1

Wir können HPL/SQL-Abfrage nicht direkt von Hive Cli ausführen. wir sollten entweder 1. hplsql -e 'Abfrage' oder 2. hplsql -e sql/hql-Datei verwenden.

Für Beispiel-

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

Write-Funktion in HPL/SQL, es in hive registrieren und verwenden.

+0

Obwohl dies die Frage beantworten könnte, betrachten Sie es kurz OP –