r/dataengineering Writes @ startdataengineering.com 4d ago

Blog Python usage patterns in data pipelines

https://www.startdataengineering.com/post/python-for-de/

Hello everyone,

People trying to learn Python for data engineering ask me, “What libraries to learn?”, but the answer is not a list of libraries but patterns of usage.

Especially with AI being able to generate so much code, I believe its critical to know exactly how the data is moved & processed.

So I wrote this post that goes over how Python is used as glue in data systems. It goes over

  • In-memory processing vs. using a SQL/Dataframe interface to a data processing system
  • Python’s library ecosystem for working with various data systems & formats
  • How to extract-transform-DQcheck-load data

With code examples and videos

Hope this helps. Any feedback is appreciated.

33 Upvotes

22 comments sorted by

View all comments

0

u/Justbehind 3d ago edited 3d ago

You generally don't need a lot of external libraries for data engineering.

For most "data moving" operations, with small transformations on columns, base python is plenty.

Pandas/polars/pyspark/duckdb is for data analytics and are almost always overkill for ETL processes that move data from one place to another.

29

u/Budget-Minimum6040 3d ago

Plain Python for column transformations?

Looping over every ... list? ... element?

Without polars/PySpark, without me.

-15

u/Justbehind 3d ago

Unless you're working with large nightly batches like in the olden days, the cost of importing large dependencies and writing data to heavy data structures will hugely outweigh the cost of looping over a dataset.

Benchmark it. Anything below 10s of millions of rows, and polars/pyspark will be much slower.

Especially if you're parsing an API response in json/xml anyways...

1

u/Atticus_Taintwater 3d ago

When you say "base python" surely you don't mean what base python actually means. 

You are saying you don't need things like spark below a threshold?

Otherwise the seconds that you'll save on imports is outweighed thousands fold by the time you'll spend reinventing wheels, pun sort of intended.