La Spark UI

Introducción a Spark SQL en Python

Mark Plutowski

Data Scientist

Usa la Spark UI para inspeccionar la ejecución

  • Una tarea de Spark es una unidad de ejecución que corre en una sola CPU

  • Una etapa de Spark agrupa tareas que hacen el mismo cálculo en paralelo, cada una sobre un subconjunto distinto de datos

  • Un trabajo de Spark es un cómputo disparado por una acción, dividido en una o más etapas.

Introducción a Spark SQL en Python

Encontrar la Spark UI

  1. http://[DRIVER_HOST]:4040
  2. http://[DRIVER_HOST]:4041
  3. http://[DRIVER_HOST]:4042
  4. http://[DRIVER_HOST]:4043
    ...
Introducción a Spark SQL en Python

Introducción a Spark SQL en Python

Introducción a Spark SQL en Python

Introducción a Spark SQL en Python

Operaciones del catálogo de Spark

  • spark.catalog.cacheTable('table1')
  • spark.catalog.uncacheTable('table1')
  • spark.catalog.isCached('table1')
  • spark.catalog.dropTempView('table1')
Introducción a Spark SQL en Python

Catálogo de Spark

spark.catalog.listTables()
[Table(name='text', database=None, description=None, tableType='TEMPORARY', isTemporary=True)]
Introducción a Spark SQL en Python

Introducción a Spark SQL en Python

Introducción a Spark SQL en Python

Pestaña Storage de Spark UI

Muestra dónde existen las particiones

  • en memoria,
  • o en disco,
  • en todo el clúster,
  • en un instante dado.
Introducción a Spark SQL en Python

Pestaña SQL de 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()
Introducción a Spark SQL en Python

Introducción a Spark SQL en Python

Introducción a Spark SQL en Python

Introducción a Spark SQL en Python

Introducción a Spark SQL en Python

¡Vamos a practicar!

Introducción a Spark SQL en Python

Preparing Video For Download...