如何禁用Databricks错误包装以获取原始Spark报错信息
如何禁用Databricks Runtime 12.2+的异常包装以获取原始Spark错误信息?
自Databricks Runtime 12.2版本开始,Databricks默认会将Spark原生异常包装为自身异常,这会导致无法直接查看原始异常堆栈、定位Spark源码问题——比如报错指向QueryExecutionErrors.scala:3372,但实际Spark源码中该文件仅2700行,也找不到对应的EXECUTOR_BROADCAST_JOIN_OOM标识,导入堆栈到IntelliJ后也无法匹配代码行。
要禁用该异常包装功能,获取原始Spark错误信息,可通过设置以下Spark配置参数实现:
- 集群全局配置:在集群的Spark配置页面中添加参数:
spark.databricks.sql.error.verbose true - Notebook临时配置:如果仅需在当前Notebook生效,执行以下代码:
spark.conf.set("spark.databricks.sql.error.verbose", "true")
启用该参数后,Databricks会输出未经包装的原始Spark异常信息及完整堆栈跟踪,可直接对应Spark源码进行问题排查。
内容的提问来源于stack exchange,提问作者alsetr
相关产品推荐
相关产品推荐

