Изучите план выполнения искры, количество этапов и т. Д. - PullRequest
0 голосов
/ 16 апреля 2019

Мне нужно оптимизировать мой код pyspark, чтобы план выполнения был как можно более параллельным; Я бы знал, если есть лучший способ, чем метод .explain (который не читается) исследовать DAG, как «нормальный» объект графа.

Например, было бы очень полезно узнать общее количество этапов, количество «узлов первого уровня» DAG и т. Д. Спасибо.

1 Ответ

1 голос
/ 17 апреля 2019

вы можете получить более подробный план объяснения от оптимизатора катализатора, добавив "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, который предоставляетВизуализация DAG и разбивка заданий, этапов, задач, кэшированных объектов, распределения исполнителя и переменных среды ... вы можете получить к нему доступ через url ' driver_node_host: 4040 ', который является портом по умолчанию ... документы здесьдля дополнительных конфигураций => https://spark.apache.org/docs/latest/configuration.html#spark-ui

...