Spark UI

Введение в Spark SQL на Python

Mark Plutowski

Data Scientist

Spark UI: анализ выполнения

  • Spark Task — единица выполнения, работающая на одном процессоре

  • Spark Stage — группа задач, выполняющих одно и то же вычисление параллельно; каждая задача, как правило, обрабатывает отдельное подмножество данных

  • Spark Job — вычисление, инициируемое действием и разбитое на один или несколько этапов

Введение в Spark SQL на Python

Как найти Spark UI

  1. http://[DRIVER_HOST]:4040
  2. http://[DRIVER_HOST]:4041
  3. http://[DRIVER_HOST]:4042
  4. http://[DRIVER_HOST]:4043
    ...
Введение в Spark SQL на Python

Введение в Spark SQL на Python

Введение в Spark SQL на Python

Введение в Spark SQL на Python

Операции с каталогом Spark

  • spark.catalog.cacheTable('table1')
  • spark.catalog.uncacheTable('table1')
  • spark.catalog.isCached('table1')
  • spark.catalog.dropTempView('table1')
Введение в Spark SQL на Python

Каталог Spark

spark.catalog.listTables()
[Table(name='text', database=None, description=None, tableType='TEMPORARY', isTemporary=True)]
Введение в Spark SQL на Python

Введение в Spark SQL на Python

Введение в Spark SQL на Python

Spark UI: вкладка Storage

Показывает, где находятся разделы данных:

  • в памяти,
  • на диске,
  • в узлах кластера,
  • в определённый момент времени.
Введение в Spark SQL на Python

Spark UI: вкладка SQL

query3agg = """
SELECT w1, w2, w3, COUNT(*) as count FROM (
   SELECT 
   word AS w1,
   LEAD(word,1) OVER(PARTITION BY part ORDER BY id ) AS w2,
   LEAD(word,2) OVER(PARTITION BY part ORDER BY id ) AS w3
   FROM df
)
GROUP BY w1, w2, w3 
ORDER BY count DESC
""" 

spark.sql(query3agg).show()
Введение в Spark SQL на Python

Введение в Spark SQL на Python

Введение в Spark SQL на Python

Введение в Spark SQL на Python

Введение в Spark SQL на Python

Давайте потренируемся!

Введение в Spark SQL на Python

Preparing Video For Download...