Не удалось запустить запрос HPL/SQL из HIVE cli

Я попытался запустить "dbms_output.put_line('Это HPL/Sql');" из улья кли он дал ниже исключение.

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_output' '.' 'Put_line'

Я использую Hive 2.1.0. согласно документации HPL/sql HPL/SQL включен в Apache Hive начиная с версии 2.0.

Есть ли какие-либо дополнительные изменения конфигурации, необходимые для включения поддержки hpl/sql в hive.

2 ответа

Мы не можем запустить HPL/SQL-запрос напрямую из Hive Cli. мы должны использовать либо 1. hplsql -e 'query', либо 2. hplsql -e sql/hql file.

Например-

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

Напишите функцию в HPL/SQL, зарегистрируйте ее в кусте и используйте.

Другие вопросы по тегам