使用hql文件时从beeline获取准确的返回代码?

1yjd4xko  于 2021-06-25  发布在  Hive
关注(0)|答案(1)|浏览(408)

我有一个init文件和一个hql文件要传递给beeline执行:

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

我希望beeline停止执行脚本,如果脚本中有任何行失败,则返回错误代码。但是,如果脚本中有错误,那么它将继续执行并返回0作为返回代码。我如何配置它来做我想做的事?

h7wcgrx3

h7wcgrx31#

来自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
$

相关问题