Debugging PySpark -- Or trying to make sense of a JVM stack trace when you were minding your own bus
summary
Shows concrete patterns: search logs for the org.apache.spark.api.python Python exception, run Spark 2.2/2.3 to get better Jupyter tracebacks, and expect hundreds of duplicated JVM stack traces on large clusters (demo gives ~400 copies). Demonstrates tools: Spark History Server, SC.setLogLevel and persist to break pipelining, yarn debug_delete_debug_delay_seconds, and tuning yarn.application.memoryOverhead for JVM OOMs. Notes Arrow can be faster (vendors claim 242×), explains a broadcast+signal hack to attach a remote Python debugger, and recommends sampling locally to reproduce failures.
AI-written summary · about
chapters (39)
- 0:00Welcome
- 1:28Trans Queer Canadian
- 2:00Copresenter
- 2:24Introduction
- 3:14Outline
- 3:54Key takeaways
- 4:38What is PySpark
- 5:06Why people come to PySpark
- 5:28Debugging PySpark
- 6:56Monster Identification Guide
- 8:02Logs and Error Messages
- 8:59Thinking about your program
- 9:45PySpark history server
- 10:28Change log level
- 10:53What happens when we get an error
- 11:10What is in the JVM stacktrace
- 11:59Happiness is overrated
- 12:27Error message
- 13:02Disable error reporting
- 13:15Upgrade Spark
- 13:41Terminal
- 14:10WebUI
- 15:14Ignore Java messages
- 15:54Console box
- 18:50lambda expressions
- 19:57testingbase
- 20:22skip testing
- 20:42Apache arrow
- 21:11Floating point
- 21:28Java stack trace
- 22:09What we do
- 22:20Out of memory
- 23:00Summary
- 23:27MapReduce error
- 23:45Connecting Python debuggers
- 24:06Running locally
- 24:29Takeaways
- 24:42Buy my book
- 24:59Join me in other places
related talks
40mDebugging PySpark - Pretending to make sense of JVM stack traces
43mPySpark in Practice
43mImproving PySpark Performance: Spark performance beyond the JVM
41mImproving PySpark Performance Spark performance beyond the JVM
41mKeynote: Making the Big Data ecosystem work together with Python
24mPySpark - Data processing in Python on top of Apache Spark.
27mPython and the JVM - A Love Story
31mBringing the Jewels of the Python World to Scala with Spark
