Java 捕捉spark中已执行sql的异常

Java 捕捉spark中已执行sql的异常,java,apache-spark,hadoop,apache-spark-sql,Java,Apache Spark,Hadoop,Apache Spark Sql,我有一个动态构建的SQL,其中有一些损坏的字符串,如错误的列名或使用sm而不是sum 当我在这个生成的字符串上执行sparksession.sql()时,整个spark作业会像预期的那样失败,我可以在资源管理器日志中看到所有日志 是否有一种方法可以让我在try-catch块中捕获此异常,并处理此异常,然后继续我的逻辑。目前这对我来说很有效,但我认为这不是理想的解决方案 try { return spark.sql(query); }catc

我有一个动态构建的SQL,其中有一些损坏的字符串,如错误的列名或使用sm而不是sum

当我在这个生成的字符串上执行
sparksession.sql()
时,整个spark作业会像预期的那样失败,我可以在资源管理器日志中看到所有日志


是否有一种方法可以让我在try-catch块中捕获此异常,并处理此异常,然后继续我的逻辑。

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

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

对于所有sql语法、错误的列或表名查询,这给我抛出了一个
org.apache.spark.sql.AnalysisException
异常。但是我不能特别注意到这个例外。

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

        try {
            return spark.sql(query);
        }catch (Exception e) {
      e.getMessage();
}
对于所有sql语法、错误的列或表名查询,这给我抛出了一个
org.apache.spark.sql.AnalysisException
异常。但是我不能特别注意到这个例外