Получить точный код возврата от Билайн при использовании HQL-файла? - PullRequest
1 голос
/ 05 марта 2020

У меня есть файл инициализации и HQL-файл, который я передаю в beeline для выполнения:

beeline -i "$INIT_FILE" -f "$BEELINE_HQL_FILE"  

И я хочу, чтобы beeline прекратил выполнение скрипта и возвратил код ошибки, если есть какие-либо строки в скрипт, который потерпел неудачу. Однако, если в скрипте есть ошибки, он продолжает выполняться и возвращает 0 в качестве кода возврата. Как я могу настроить его на то, что я хочу?

1 Ответ

1 голос
/ 05 марта 2020

С Руководство по работе с клиентами HS2 :

- force = [true / false] Продолжать выполнение сценария даже после ошибок (true) или не продолжать (false). По умолчанию установлено значение false.

Использование: beeline --force = true

Таким образом, по умолчанию beeline прекращает выполнение скрипта в случае ошибки. Если он ведет себя по-другому в вашей среде, возможно, вы можете попробовать использовать $ beeline --force=false ...

Обновление

Beeline вернет ненулевой код возврата, если он не сможет выполнить HQL оператор или скрипт.

$ beeline -u "jdbc:hive2://hiveserver2:10000/default;" -e "describe unknown_table"
Error: Error while compiling statement: FAILED: SemanticException [Error 10001]: Table not found unknown_table (state=42S02,code=10001)

$ echo $?
1
$
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...