デバッグ目的で (論理および物理) プランをコンソールに出力します。
構文
explain(extended: Optional[Union[bool, str]] = None, mode: Optional[str] = None)
パラメーター
| パラメーター | タイプ | 説明 |
|---|---|---|
extended |
bool、省略可能 | 既定の False。
False場合は、物理プランのみを出力します。 これは、 modeを指定せずに文字列の場合、モードが指定されたとおりに機能します。 |
mode |
str、省略可能 | は、プランの予想される出力形式を指定します。
simple: 物理プランのみを印刷します。
extended: 論理プランと物理プランの両方を印刷します。
codegen: 物理計画と生成されたコードが使用可能な場合は印刷します。
cost: 論理プランと統計が使用可能な場合は印刷します。
formatted: Explain 出力を 2 つのセクションに分割します。物理プランのアウトラインとノードの詳細です。 |
例示
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...]
# ...