shauryashaurya
learn-data-munging
Jupyter Notebook

Notes on Data Engineering with Pandas, PySpark, Dask, Ray, Arrow DataFusion, Polars etc.

Last updated Jun 10, 2026
53
Stars
21
Forks
2
Issues
0
Stars/day
Attention Score
71
Language breakdown
Jupyter Notebook 100.0%
Rust 0.0%
CSS 0.0%
Files click to expand
README

Data Munging Using \X\ in Python, Rust & Julia

Data Engineering Workshops on some of the more popular libraries, frameworks and tech circa 2023-2024. Data Wrangling with Python, Rust and Julia, Image © Shaurya Agarwal, created using Dalle and GIMP

Data Engineers working with Python, Rust and Julia :P

---

Notebooks

00 Python Collections

This set of notebooks works through examples of how some pretty sophisticated data engineering can be done using Python Collections, Itertools and Functools. It uses the small MovieLens dataset.
  • Basic Collections and the
    Module: Notebook also Open In Colab

01 Numpy

  • NumPy vs Python Collections Notebook also Open In Colab

02 Pandas

  • Wrangling MovieLens with Pandas - Part 1: Getting Started, Load the MovieLens dataset: Notebook also Open In Colab
  • Wrangling MovieLens with Pandas - Part 2: Playing with the Movies and Ratings data: Notebook also Open In Colab

03 Spark

01 - Toy introduction to the basics

  • 01 - Setting up Spark locally (on Windows): Notebook also Open In Colab
  • 02 - How to run Apache Spark based notebooks in Google Colab: Notebook%20GoogleColabsetupSparkdownloaddata.ipynb) also Open In Colab%20GoogleColabsetupSparkdownloaddata.ipynb)

02 - A set of notebooks exploring data wrangling in depth using the MovieLens dataset

  • Part 01: Overview, Starting Spark and Loading the data: Notebook or Open In Colab
  • Part 02: Data Analysis basics using tags.csv from the MovieLens dataset: Notebook or Open In Colab

03 - Harder to solve problems - trying to capture a variety of "problem types" at appear hard to solve in the wild

  • 01: Just the questions: Notebook.ipynb) or Open In Colab.ipynb)
  • 02: Added hints, patterns etc. to the questions, read through if you are not really doing anything this afternoon: Notebook.ipynb) or Open In Colab.ipynb)

04 Dask

  • Distributed Data Analysis with Dask - Part 1: Getting Started, Load the MovieLens dataset: Notebook also Open In Colab
  • Distributed Data Analysis with Dask - Part 2: Playing with the Movies data: Notebook also Open In Colab

05 Polars

  • Polars with the MovieLens dataset - Getting Started, Load the MovieLens dataset, A quick look at Arrow, and some analysis: Notebook also Open In Colab

06 Apache Arrow and DataFusion

  • 01 - 10+ minutes to Arrow+DataFusion+Ballista [WIP]: Notebook also Open In Colab

07 Ray

  • [WIP]

99 Static: The TPC Benchmark Queries

  • [WIP]

Note

The "10+ minutes to XX" notebooks are just references, not to be run as actual workshop material. These are there to carry toy examples that "getting started" pages for XX carry. I have tried to ensure there's a 10+ minutes notebook for each data engineering library/framework considered here. While it may be interesting to go through these to quickly refresh the syntax and other idiosyncracies, the actual data munging happens in other notebooks.

References

01 Numpy

02 Pandas

03 Spark

* This is also available as live binder notebooks: * Live Notebook: DataFrame * Live Notebook: Pandas API on Spark * Spark Python Notebooks * Data Science Engineering, your way * A scalable on-line movie recommender using Spark and Flask * The SparkLearning Repo

04 Dask

The approach is different: Dask focuses on Task scheduling vs Spark's Map-Reduce

05 Polars

06 Arrow, Arrow DataFusion and Ballista

07 Ray

Future State / Miscellany

Datasets we use: There's a lot of interesting (interesting to me) tools, datasets and papers out there. When there's time or need, we'll get to them as well. Arrow and pyArrow really warrant a deeper study. Maybe a gateway to Rust based data processing. Not really emerging* anymore, a lot of very cool stuff is being done with this and datafusion, very interesting to explore. PRQL, on github* and PRQL Query. Also the PRQL Book.

MOAR GIMME MOAR LINKS!!!

Kitchen sink of all other references I've found useful (or wonderful). There's so much to learn I tell you! * Spring 2020 * Spring 2023, also CMU 15-721 (2023) * CMU Advanced Database Systems (15-721 / Spring 2024), YouTube Playlist .
🔗 More in this category

© 2026 GitRepoTrend · shauryashaurya/learn-data-munging · Updated daily from GitHub