spark sql 3 cli客户端不再支持hive.cli.errors.ignore?

esyap4oy  于 2021-05-15  发布在  Spark
关注(0)|答案(0)|浏览(453)

spark 3.0.1的spark sql cli客户端似乎不再正确支持 hive.cli.errors.ignore 财产。
在spark 2.4.5中,此命令按预期工作,在到达错误查询时退出并返回错误代码:

$ spark-sql -hiveconf "hive.cli.errors.ignore=false" -S -e "set hive.cli.errors.ignore; select bad; select 'good';"
... (log lines removed) ...
hive.cli.errors.ignore  false
Error in query: cannot resolve '`bad`' given input columns: []; line 1 pos 8;
'Project ['bad]
+- OneRowRelation

$ echo $?
1

把它改成 hive.cli.errors.ignore=true 通过继续执行下一个查询,也可以按预期工作。

$ spark-sql -hiveconf "hive.cli.errors.ignore=true" -S -e "set hive.cli.errors.ignore; select bad; select 'good';"
... (log lines removed) ...
hive.cli.errors.ignore  true
Error in query: cannot resolve '`bad`' given input columns: []; line 1 pos 8;
'Project ['bad]
+- OneRowRelation

good

$ echo $?
0

但是,在版本3.0.1上的spark sql上运行相同的命令时,其行为就好像忽略错误总是真的一样。我不希望在这种情况下运行返回“good”的查询:

$ spark-sql -hiveconf "hive.cli.errors.ignore=false" -S -e "set hive.cli.errors.ignore; select bad; select 'good';"
... (log lines removed) ...
hive.cli.errors.ignore  false
Error in query: cannot resolve '`bad`' given input columns: []; line 1 pos 8;
'Project ['bad]
+- OneRowRelation

good

$ echo $?
0

这是bug吗?如果是这样,我将发布到spark bug追踪器。
或者是否有其他方法来配置配置单元属性或新属性,以重新创建旧行为?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题