Spark 界面(Spark UI)

Python 中的 Spark SQL 入门

Mark Plutowski

Data Scientist

用 Spark UI 检查执行情况

  • Spark 任务(Task):在单个 CPU 上运行的执行单元

  • Spark 阶段(Stage):并行执行相同计算的一组任务,通常各自处理数据的不同子集

  • Spark 作业(Job):由一个动作触发的计算,被切分为一个或多个阶段。

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 目录(Catalog)

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 入门

Passons à la pratique !

Python 中的 Spark SQL 入门

Preparing Video For Download...