2

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

4

1 回答 1

0

打破你的执行。这是了解错误可能来自何处的最简单方法。第一次运行超过 500 行代码绝不是一个好主意。您希望在使用它时获得中间结果。另一种方法是使用 IDE 并遍历代码。这可以帮助您了解错误的来源。我更喜欢 PyCharm(社区版是免费的),但 VS Code 也可能是一个不错的选择。

于 2019-07-20T12:13:51.173 回答