使用HQL文件时,是否从直线获得准确的返回代码



我有一个init文件和一个HQL文件,我正在将它们传递给直线执行:

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

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

来自HS2客户指南:

--force=[true/false]即使出现错误也要继续运行脚本(true(或不继续(false(。默认值为false。

用法:beeline--force=true

因此,默认情况下,如果出现错误,直线将停止执行脚本。如果它在您的环境中表现不同,也许您可以尝试使用$ 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
$

最新更新