Faster PySpark with Apache Arrow
summary
Claims that Apache Arrow reduces PySpark serialization cost and speeds Python UDFs by concrete amounts and shows working examples. Benchmarks show Arrow-optimized Python UDFs ~1.6Γ faster than pickled UDFs, pandas UDFs ~1.8Γ faster than Arrow UDFs and ~3Γ vs regular UDFs and up to ~150Γ on a SciPy CDF case. Demos include Spark 3.5 Arrow UDF flag, Spark 3.3 mapping Arrow API, forthcoming Spark 4.0 dataframe_to_arrow and a Python data source that reads Arrow record batches via ADBC in ~20 lines of code.
AI-written summary Β· about
chapters (11)
- 0:00Introduction
- 1:17Arrow and PySpark overview
- 5:10Python UDFs performance issues
- 9:29Arrow-optimized Python UDFs
- 12:19Pandas UDFs for vectorization
- 15:54Pandas iterator UDFs
- 17:41PySpark UDF optimizations
- 19:07Other PySpark Arrow features
- 23:42Python data source API
- 25:31Conclusion
- 26:36Q&A
related talks
46mInternals of Speeding up PySpark with Arrow
25mSpeed Up Data Access with PyArrow Apache Arrow Data is the new API
31mPolars on Spark
24mPolyglot data with python: Introducing Pandas and Apache Arrow
33mArrow in Flight - New Developments in Data Connectivity
32mThe PyArrow revolution in Pandas
46mA 101 in Time Series Analytics with Apache Arrow, Pandas and Parquet
41mFaster SQL with pandas and Apache Arrow
