spak 中是否有任何工具可以帮助理解代码的解释和执行方式。像分析工具或执行计划的详细信息,以帮助优化代码。
例如,我已经看到最好在加入它们之前在连接键上对两个数据帧进行分区以避免额外的洗牌。我们怎么能弄明白呢?
最佳答案
正如 Pushkr 所说,有了数据帧和数据集,我们可以使用 .explain() 方法来显示派生、分区和最终的 shuffle。
使用 RDD,我们可以使用 toDebugString 来获得相同的结果。
此外,还有依赖关系来指示新的 rdd 是从前一个具有窄依赖还是宽依赖的衍生而来。
关于apache-spark - Spark 和分析或执行计划,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43166954/