catch spark中已执行sql的异常

ars1skjm  于 2021-05-27  发布在  Hadoop
关注(0)|答案(1)|浏览(591)

我有一个动态构建的sql,它有一些损坏的字符串,比如错误的列名或使用sm而不是sum。
当我执行 sparksession.sql() 在这个生成的字符串上,整个spark作业如预期的那样失败,我可以在资源管理器日志中看到所有日志。
有没有一种方法可以让我在try-catch块中捕获这个异常,然后处理这个异常并继续我的逻辑。

ktca8awb

ktca8awb1#

目前这对我来说很有效,但我认为这不是理想的解决方案。

try {
            return spark.sql(query);
        }catch (Exception e) {
      e.getMessage();
}

这件事给了我很大的帮助 org.apache.spark.sql.AnalysisException 所有sql语法、错误列或表名查询的例外。但我没能抓住这个例外。

相关问题