Aller au contenu principal

Expliquer

Imprime les plans (logiques et physiques) dans la console à des fins de debugging.

Syntaxe

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

parameter

parameter

Type

Description

extended

bool, facultatif

default False. Si False, affiche uniquement le plan physique. Lorsque c’est une chaîne sans spécifier le mode, cela fonctionne comme si le mode était spécifié.

mode

str, facultatif

spécifie le format de sortie attendu des plans. simple: Imprimez uniquement un plan physique. extended: Imprimez les plans logiques et physiques. codegen: Imprimez un plan physique et les codes générés s'ils sont disponibles. cost: imprimez un plan logique et des statistiques s'ils sont disponibles. formatted: Divisez la sortie d'explication en deux sections : un aperçu du plan physique et les détails des nœuds.

parameter

Type

Description

extended

bool, facultatif

default False. Si False, affiche uniquement le plan physique. Lorsque c’est une chaîne sans spécifier le mode, cela fonctionne comme si le mode était spécifié.

mode

str, facultatif

spécifie le format de sortie attendu des plans. simple: Imprimez uniquement un plan physique. extended: Imprimez les plans logiques et physiques. codegen: Imprimez un plan physique et les codes générés s'ils sont disponibles. cost: imprimez un plan logique et des statistiques s'ils sont disponibles. formatted: Divisez la sortie d'explication en deux sections : un aperçu du plan physique et les détails des nœuds.

Exemples

Python
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...]
# ...