Spark UI

Wprowadzenie do Spark SQL w Pythonie

Mark Plutowski

Data Scientist

Analiza wykonania w Spark UI

  • Zadanie Spark to jednostka wykonania działająca na jednym procesorze

  • Etap Spark to grupa zadań wykonujących te same obliczenia równolegle, zazwyczaj na różnych podzbiorach danych

  • Job Spark to obliczenie wyzwolone przez akcję, podzielone na jeden lub więcej etapów.

Wprowadzenie do Spark SQL w Pythonie

Jak znaleźć Spark UI

  1. http://[DRIVER_HOST]:4040
  2. http://[DRIVER_HOST]:4041
  3. http://[DRIVER_HOST]:4042
  4. http://[DRIVER_HOST]:4043
    ...
Wprowadzenie do Spark SQL w Pythonie

Wprowadzenie do Spark SQL w Pythonie

Wprowadzenie do Spark SQL w Pythonie

Wprowadzenie do Spark SQL w Pythonie

Operacje na katalogu Spark

  • spark.catalog.cacheTable('table1')
  • spark.catalog.uncacheTable('table1')
  • spark.catalog.isCached('table1')
  • spark.catalog.dropTempView('table1')
Wprowadzenie do Spark SQL w Pythonie

Katalog Spark

spark.catalog.listTables()
[Table(name='text', database=None, description=None, tableType='TEMPORARY', isTemporary=True)]
Wprowadzenie do Spark SQL w Pythonie

Wprowadzenie do Spark SQL w Pythonie

Wprowadzenie do Spark SQL w Pythonie

Zakładka Storage w Spark UI

Pokazuje, gdzie istnieją partycje danych

  • w pamięci,
  • lub na dysku,
  • w całym klastrze,
  • w danym momencie.
Wprowadzenie do Spark SQL w Pythonie

Zakładka SQL w 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()
Wprowadzenie do Spark SQL w Pythonie

Wprowadzenie do Spark SQL w Pythonie

Wprowadzenie do Spark SQL w Pythonie

Wprowadzenie do Spark SQL w Pythonie

Wprowadzenie do Spark SQL w Pythonie

Czas na ćwiczenia!

Wprowadzenie do Spark SQL w Pythonie

Preparing Video For Download...