Show HN: Data Engineering Book – An open source, community-driven guide
251 points
27 days ago
| 12 comments
| github.com
| HN
Hi HN! I'm currently a Master's student at USTC (University of Science and Technology of China). I've been diving deep into Data Engineering, especially in the context of Large Language Models (LLMs).

The Problem: I found that learning resources for modern data engineering are often fragmented and scattered across hundreds of medium articles or disjointed tutorials. It's hard to piece everything together into a coherent system.

The Solution: I decided to open-source my learning notes and build them into a structured book. My goal is to help developers fast-track their learning curve.

Key Features:

LLM-Centric: Focuses on data pipelines specifically designed for LLM training and RAG systems.

Scenario-Based: Instead of just listing tools, I compare different methods/architectures based on specific business scenarios (e.g., "When to use Vector DB vs. Keyword Search").

Hands-on Projects: Includes full code for real-world implementations, not just "Hello World" examples.

This is a work in progress, and I'm treating it as "Book-as-Code". I would love to hear your feedback on the roadmap or any "anti-patterns" I might have included!

Check it out:

Online: https://datascale-ai.github.io/data_engineering_book/

GitHub: https://github.com/datascale-ai/data_engineering_book

fudged71
26 days ago
[-]
Thank you so much for this book! I'm finding the translation is very high quality.

I am a complete novice in training LLMs, and have been trying to train a novel architecture for Python code generation, using Apple Silicon.

I've been a bit frustrated to be honest that the data tools don't seem to have any focus on code, their modalities are generic text and images. And for synthetic data generation I would love to use EBNF-constrained outputs but SGlang is not available on MacOS. So I feel a bit stuck, downloading a large corpus of Python code, running into APFS issues, sharding, custom classifying, custom cleaning, custom mixing, etc. Maybe I've missed a tool but I'm surprised there aren't pre-tagged, pre-categorized, pre-filtered datasets for code where I can just tune the curriculum/filters to input into training.

reply
esafak
26 days ago
[-]
I'd have titled the submission 'Data Engineering for LLMs...' as it is focused on that.
reply
xx123122
26 days ago
[-]
That's a great point. I completely agree—'Data Engineering for LLMs' is much more accurate given the content.I'll pass this feedback on to the project lead immediately. Thanks for the suggestion.
reply
dotancohen
26 days ago
[-]
Project lead? The post gives the impression that you are a student open sourcing your learning notes.
reply
xx123122
25 days ago
[-]
Let me clarify the team structure to avoid any misunderstanding.

We are actually three first-year Master's students. This project is indeed a summary of our learning from this past semester, which we rushed to wrap up right before the Chinese New Year break.

When I mentioned 'Project Lead,' I was referring to a senior PhD candidate in our lab. He acts as a mentor to review our code and ensure quality control, but the learning and implementation are very much ours. And yes, to move fast and polish the English, we did utilize LLMs during the writing process.

reply
dotancohen
25 days ago
[-]
You guys are doing an excellent job. Happy new year, with wishes for prosperity!
reply
gtowey
26 days ago
[-]
No, I think it gives the impression that the author is using an LLM without much supervision to not only write the submitted content, but to reply to posts here.
reply
xx123122
25 days ago
[-]
I promise there is a human behind the keyboard!QAQ

My English is not good, so I use GPT to help translate and polish my replies to be polite. Maybe it made them sound too robotic. I am reading every comment myself. Sorry for the wrong impression.

reply
hliyan
26 days ago
[-]
I'm not sure whether this is an artefact of translation, but things like this don't inspire confidence:

> The "Modern Data Stack" (MDS) is a hot concept in data engineering in recent years, referring to a cloud-native, modular, decoupled combination of data infrastructure

https://github.com/datascale-ai/data_engineering_book/blob/m...

Later parts are better and more to the point though: https://github.com/datascale-ai/data_engineering_book/blob/m...

Edit: perhaps I judged to early. The RAG sections isn't bad either: https://github.com/datascale-ai/data_engineering_book/blob/m...

reply
xx123122
26 days ago
[-]
Appreciate the honest feedback.
reply
joshuaissac
26 days ago
[-]
reply
dang
26 days ago
[-]
Oh thanks! I've switched the top URL to that now. Submitted URL was https://github.com/datascale-ai/data_engineering_book.

I hope xx123122 won't mind my mentioning that they emailed us about this post, which originally got caught in a spam filter. I invited them to post a comment giving the background to the project but they probably haven't seen my reply yet. Hopefully soon, given that the post struck a chord!

Edit: they did, and I've moved that post to the toptext.

reply
xx123122
26 days ago
[-]
Huge thanks, dang! I really appreciate you rescuing the post from the filter and switching the URL to the English version.And thanks for pinning the context comment; it helps a lot since the project is quite extensive. We're thrilled it struck a chord.
reply
xx123122
26 days ago
[-]
Thanks for sharing the direct link! Much appreciated.
reply
osamabinladen
26 days ago
[-]
this is great and i bookmarked it so i can read it later. i’m just curious though, was the readme written by chatgpt? i can’t tell if im paranoid thinking everything is written by chatgpt
reply
xx123122
26 days ago
[-]
Yes, you are right. We are a team from China and used GPT to help with the English translation. We didn't realize it came across as 'fake warmth.' We appreciate the feedback and will work on making the tone more neutral and concise.
reply
nimonian
26 days ago
[-]
I think it was. It's a wall of information, lots of summary tables, fake warmth, and has that LLM smell to it. I'd be very surprised if this wasn't generated text.

Whether it's GPT or not, it needs rewriting.

reply
cpard
25 days ago
[-]
It's important in a book treating an emerging field (data eng for LLMs) to mention emerging categories related to it such as storage formats purpose built for the full ML lifecycle.

Lance[1] (the format, not just LanceDB) is a great example, where you have columnar storage optimized for both analytical operations and vector workloads together with built-in versioning for dataset iteration.

Plus (very important) random access, which is important for stuff like sampling and efficient filtering during curation but also for working with multimodal data, e.g. videos.

Lance is not alone, vortex[2] is another one, nimble[3] from Meta yet another one and I might be missing a few more.

[1] https://github.com/lance-format/lance [2] https://vortex.dev [3] https://github.com/facebookincubator/nimble

reply
baalimago
26 days ago
[-]
> "Data is the new oil, but only if you know how to refine it."

Oil[0] is fairly useless without being refined as well. Perhaps: "Data is the new oil, you need to refine it"?

[0]: https://en.wikipedia.org/wiki/Petroleum

reply
13pixels
26 days ago
[-]
The 'Vector DB vs Keyword Search' section caught my eye. In your testing for RAG pipelines, where do you draw the line?

We've found keyword search (BM25) often beats semantic search for specific entity names/IDs, while vectors win on concepts. Do you cover hybrid search patterns/re-ranking in the book? That seems to be where most production systems end up.

reply
xx123122
26 days ago
[-]
Thanks for the insight.We definitely plan to cover these patterns in future updates. Please excuse a slight delay as our team is currently celebrating the Chinese New Year. We'll be back to shipping code right after the holidays.OWO
reply
guillem_lefait
26 days ago
[-]
The figures in the different chapters are in english (it's not the case for the image in README_en.md).
reply
xx123122
26 days ago
[-]
Thanks for the heads-up! We noticed that discrepancy as well and have just updated the README_en.md with the correct English diagram. It should be displaying correctly now.
reply
alexott
26 days ago
[-]
Parquet alone is not for modern data engineering. Delta, Iceberg should be in the list
reply
xx123122
26 days ago
[-]
Thanks for the feedback! I've flagged this for the team member working on that section.We are taking a short break for the Chinese New Year, so updates might be a bit slower than usual.QAQ

Thanks for understanding, and Happy New Year!

reply
dvrp
26 days ago
[-]
If you are interested in (2026-)internet scale data engineering challenges (e.g. 10-100s of petabyte processing) challenges and pre-training/mid-training/post-training scale challenges, please send me an email to d+data@krea.ai !
reply
rafavargascom
26 days ago
[-]
谢谢

How is possible a Chinese publication gets to the top in HN?

reply
xx123122
26 days ago
[-]
Thanks for the support! We believe that code and engineering challenges are universal languages.

We are pleasantly surprised by the warm reception. We know the project (and our English localization) is still a Work in Progress, but we are committed to improving it to meet the high standards of the HN community. We'll keep shipping updates!

reply
heliumtera
26 days ago
[-]
Just sprinkle a little llm on top and it gets there in no time
reply
rafavargascom
26 days ago
[-]
Nevermind.
reply