解释

将(逻辑和物理)计划打印到控制台以进行调试。

Syntax

explain(extended: Optional[Union[bool, str]] = None, mode: Optional[str] = None)

参数

参数 类型 说明
extended bool,可选 default False. 如果 False仅打印物理计划。 当这是一个字符串而不指定 mode该字符串时,它将作为模式指定。
mode str,可选 指定计划的预期输出格式。 simple:仅打印物理计划。 extended:打印逻辑计划和物理计划。 codegen:打印物理计划并生成代码(如果可用)。 cost:打印逻辑计划和统计信息(如果可用)。 formatted:将解释输出拆分为两个部分:物理计划大纲和节点详细信息。

示例

df = spark.createDataFrame(
    [(14, "Tom"), (23, "Alice"), (16, "Bob")], ["age", "name"])
df.explain()
# == Physical Plan ==
# *(1) Scan ExistingRDD[age...,name...]

df.explain(extended=True)
# == Parsed Logical Plan ==
# ...
# == Analyzed Logical Plan ==
# ...
# == Optimized Logical Plan ==
# ...
# == Physical Plan ==
# ...

df.explain(mode="formatted")
# == Physical Plan ==
# * Scan ExistingRDD (...)
# (1) Scan ExistingRDD [codegen id : ...]
# Output [2]: [age..., name...]
# ...