我需要优化我的 pyspark 代码,以便有一个尽可能并行的执行计划;我会知道是否有比 .explain 方法(不可读)更好的方法来探索 DAG,例如“普通”图形对象。例如,知道阶段的总数、DAG 的“一级节点”的数量等会非常有用。谢谢。
1 回答

子衿沉夜
TA贡献1828条经验 获得超3个赞
您可以通过添加“True”从催化剂优化器中获得更详细的解释计划。也许这就是您正在寻找的
df = spark.range(10)
df.explain(True)
...output...
== Parsed Logical Plan ==
Range (0, 10, step=1, splits=Some(8))
== Analyzed Logical Plan ==
id: bigint
Range (0, 10, step=1, splits=Some(8))
== Optimized Logical Plan ==
Range (0, 10, step=1, splits=Some(8))
== Physical Plan ==
*(1) Range (0, 10, step=1, splits=8)
更详细的,您还可以访问 Spark UI,它提供了 DAG 可视化和作业、阶段、任务、缓存对象、执行程序分布和环境变量的分解......您可以通过默认的url ' driver_node_host:4040 '访问它端口...此处的文档以获取其他配置=> https://spark.apache.org/docs/latest/configuration.html#spark-ui
添加回答
举报
0/150
提交
取消