~/talk

Improving PySpark Performance Spark performance beyond the JVM

Talkat PyData DC 2016 · 2016-10-07..10-09· [python]
slides:none on file

Explains concrete ways to speed PySpark by cutting Python–JVM overhead and shrinking shuffles: uses the py4j bridge, pickling avoidance, RDD cache/persist for reuse, and prefers reduceByKey over groupByKey to avoid huge shuffles (the video reports a measured shuffled read of 48 bytes for groupByKey versus 11 kilobytes for reduceByKey on a laptop). Shows that DataFrames keep data in the JVM, that registering JVM UDFs speeds hot paths, and that toPandas/collect pulls everything to one node.

AI-written summary · about

  1. 0:00PySpark performance intro
  2. 1:27PySpark internals & RDD basics
  3. 9:31Spark 2.0 changes & perf
  4. 11:56Python-JVM bridge in PySpark
  5. 14:45PySpark errors & debugging
  6. 15:06Word count & RDD reuse
  7. 17:32Avoid RDD recomputation
  8. 18:55Key skew handling
  9. 20:43Why groupByKey is bad
  10. 24:16Sorting skewed data
  11. 26:01DataFrames for performance
  12. 28:28SQL optimizations & pushdown
  13. 30:35SQL data loading
  14. 32:21SQL word count & agg
  15. 34:29Python-JVM mix for perf
  16. 36:16DataFrames to pandas
  17. 37:20Joins & key skew pitfalls
  18. 37:40Near-native UDFs
  19. 39:07Resources & learning
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.