我有一个init文件和一个hql文件要传递给beeline执行:
beeline -i "$INIT_FILE" -f "$BEELINE_HQL_FILE"
我希望beeline停止执行脚本,如果脚本中有任何行失败,则返回错误代码。但是,如果脚本中有错误,那么它将继续执行并返回0作为返回代码。我如何配置它来做我想做的事?
h7wcgrx31#
来自hs2客户指南:--force=[true/false]即使出现错误也继续运行脚本(true)或不继续(false)。默认值为false。用法:beeline--force=true因此,默认情况下,beeline会在出现错误时停止执行脚本。如果它在您的环境中表现不同,也许您可以尝试使用 $ beeline --force=false ... 更新当beeline无法执行hql语句或脚本时,它将返回一个非零返回代码。
$ beeline --force=false ...
$ 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 $
1条答案
按热度按时间h7wcgrx31#
来自hs2客户指南:
--force=[true/false]即使出现错误也继续运行脚本(true)或不继续(false)。默认值为false。
用法:beeline--force=true
因此,默认情况下,beeline会在出现错误时停止执行脚本。如果它在您的环境中表现不同,也许您可以尝试使用
$ beeline --force=false ...
更新当beeline无法执行hql语句或脚本时,它将返回一个非零返回代码。