Spark UI

Pythonで学ぶ Spark SQL 入門

Mark Plutowski

Data Scientist

Spark UIで実行を検査する

  • Sparkタスク:単一CPUで実行される実行単位

  • Sparkステージ:同じ計算を並列に実行するタスクのグループ。各タスクは通常、異なるデータのサブセットを処理する

  • Sparkジョブ:アクションによってトリガーされる計算。1つ以上のステージに分割される

Pythonで学ぶ Spark SQL 入門

Spark UIへのアクセス方法

  1. http://[DRIVER_HOST]:4040
  2. http://[DRIVER_HOST]:4041
  3. http://[DRIVER_HOST]:4042
  4. http://[DRIVER_HOST]:4043
    ...
Pythonで学ぶ Spark SQL 入門

Pythonで学ぶ Spark SQL 入門

Pythonで学ぶ Spark SQL 入門

Pythonで学ぶ Spark SQL 入門

Sparkカタログの操作

  • spark.catalog.cacheTable('table1')
  • spark.catalog.uncacheTable('table1')
  • spark.catalog.isCached('table1')
  • spark.catalog.dropTempView('table1')
Pythonで学ぶ Spark SQL 入門

Sparkカタログ

spark.catalog.listTables()
[Table(name='text', database=None, description=None, tableType='TEMPORARY', isTemporary=True)]
Pythonで学ぶ Spark SQL 入門

Pythonで学ぶ Spark SQL 入門

Pythonで学ぶ Spark SQL 入門

Spark UIのStorageタブ

データパーティションの存在場所を表示

  • メモリ上、
  • またはディスク上、
  • クラスター全体にわたり、
  • ある時点のスナップショットとして。
Pythonで学ぶ Spark SQL 入門

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()
Pythonで学ぶ Spark SQL 入門

Pythonで学ぶ Spark SQL 入門

Pythonで学ぶ Spark SQL 入門

Pythonで学ぶ Spark SQL 入門

Pythonで学ぶ Spark SQL 入門

練習しましょう!

Pythonで学ぶ Spark SQL 入門

Preparing Video For Download...