【问题标题】:Catch exceptions for executed sql in spark在 spark 中捕获已执行 sql 的异常
【发布时间】:2019-10-22 22:37:18
【问题描述】:

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

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

有没有办法让我在 try catch 块中捕获这个异常并处理这个异常并按照我的逻辑继续前进。

【问题讨论】:

    标签: java apache-spark hadoop apache-spark-sql


    【解决方案1】:

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

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

    对于所有 sql 语法、错误的列或表名查询,这给我带来了 org.apache.spark.sql.AnalysisException 异常。但是我特别无法捕捉到这个异常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-14
      • 2011-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多