A Spark UI

Introdução ao Spark SQL em Python

Mark Plutowski

Data Scientist

Use a Spark UI para inspecionar a execução

  • Spark Task é uma unidade de execução que roda em uma única CPU

  • Spark Stage é um grupo de tasks que fazem o mesmo cálculo em paralelo, cada uma geralmente em um subconjunto dos dados

  • Spark Job é um cálculo disparado por uma ação, dividido em uma ou mais stages.

Introdução ao Spark SQL em Python

Encontrando a Spark UI

  1. http://[DRIVER_HOST]:4040
  2. http://[DRIVER_HOST]:4041
  3. http://[DRIVER_HOST]:4042
  4. http://[DRIVER_HOST]:4043
    ...
Introdução ao Spark SQL em Python

Introdução ao Spark SQL em Python

Introdução ao Spark SQL em Python

Introdução ao Spark SQL em Python

Operações do catálogo do Spark

  • spark.catalog.cacheTable('table1')
  • spark.catalog.uncacheTable('table1')
  • spark.catalog.isCached('table1')
  • spark.catalog.dropTempView('table1')
Introdução ao Spark SQL em Python

Catálogo do Spark

spark.catalog.listTables()
[Table(name='text', database=None, description=None, tableType='TEMPORARY', isTemporary=True)]
Introdução ao Spark SQL em Python

Introdução ao Spark SQL em Python

Introdução ao Spark SQL em Python

Aba Storage da Spark UI

Mostra onde as partições de dados estão

  • na memória,
  • ou em disco,
  • no cluster,
  • num instantâneo.
Introdução ao Spark SQL em Python

Aba SQL da Spark UI

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()
Introdução ao Spark SQL em Python

Introdução ao Spark SQL em Python

Introdução ao Spark SQL em Python

Introdução ao Spark SQL em Python

Introdução ao Spark SQL em Python

Vamos praticar!

Introdução ao Spark SQL em Python

Preparing Video For Download...