通常在调试 Spark 作业失败时,我们可以找到导致失败的相应阶段和任务,例如String Index Out of Bounds 异常,但很难理解是哪个转换导致了此失败。UI 显示诸如Exchange/HashAggregate 之类的信息/Aggregate但在 500 多行代码中找到导致此失败的实际转换变得非常困难,那么如何调试 Spark 任务失败并跟踪导致相同的转换?
通常在调试 Spark 作业失败时,我们可以找到导致失败的相应阶段和任务,例如String Index Out of Bounds 异常,但很难理解是哪个转换导致了此失败。UI 显示诸如Exchange/HashAggregate 之类的信息/Aggregate但在 500 多行代码中找到导致此失败的实际转换变得非常困难,那么如何调试 Spark 任务失败并跟踪导致相同的转换?