~/talk

Improving PySpark Performance: Spark performance beyond the JVM

Talkat PyCon AU 2017 · 2017-08-03..08-08· [machine-learning, data-engineering]
slides:none on file

Shows that Python Spark suffers from double serialization between Python and the JVM and that the fastest wins come from changing primitives and where work runs: avoid groupByKey and use reduceByKey / aggregate to cut shuffle and memory spikes, persist RDDs when reusing them, move SQL-like steps into DataFrames so work stays in the JVM, and expect Apache Arrow to reduce Python<->JVM costs. Notes Yarn’s default memory split (roughly 90% JVM, 10% Python) and that UDF-heavy pipelines still pay a serialization tax.

AI-written summary · about

  1. 0:00Start
  2. 5:07What is Spark?
  3. 6:18Spark specific terms in this talk
  4. 7:15Why people come to Spark
  5. 8:19Plus a little magic :
  6. 9:16A detour into PySpark's internals
  7. 9:35Spark in Scala, how does PySpark work?
  8. 12:09Everyones favourite wordcount**!
  9. 14:24What is key skew and why do we care?
  10. 22:13Word count w/Dataframes
  11. 22:38Mixing Python & JVM code FTW
  12. 23:25The "future*": Faster interchange
  13. 25:29Additional Spark Resources
  14. 25:40High Performance Spark!
~/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.