Data With Rust

How to use this book

As a preview, check out the table of contents on the left panel, we'll be covering a lot of topics by increasing levels of complexity.

This book contains a lot of code snippets that you can run as well as edit, to understand how Rust works and how it compares with other languages. More details about this can be found here.

Videos are also made available on certain chapters but these are limited to members.

Chapter 1: Introduction to Rust for Data Engineering

Let's start by getting an overview of the Rust programming language and its relevance within the data engineering space.

This chapter covers the basics of Rust, its core concepts and discusses how it compares to other programming languages commonly used for data engineering tasks and challenges.

The chapter also provides an overview of the Rust ecosystem and its tools and libraries for data processing and analysis. By the end of the chapter, you should have a foundational understanding of Rust and be able to start using it for small data engineering tasks.

We'll even dive into some code without having to install anything locally. It's perfect for trying things out and getting a hang of things without even leaving the browser.

Remember, this is not an academic course. Take breaks and enjoy the process :)

I'll try to set the stage for this guide and explain:

  • What Rust is
  • How Rust can help with data engineering tasks
  • How Rust compares to Python and other languages for data engineering
  • Why Rust might be a perfect choice to use for the future especially to reduce costs and increase maintainability of pipelines
  • A few words on Rust’s efficiency and claims on it being a “eco friendly” programming language
  • Speed is tough, rather a metric: How fast are Rust programs in average? Given a program, how easy is it to make it fast by using Rust defaults?

Introduction to Rust

Introduction to Rust
We’ll start this guide by a short introduction to Rust as well as showing a few code snippets for how you can start using Rust. 💡It’s not important to immediately understand everything. The important part is to get you to run Rust code as fast as possible, like in the

History of Rust

History of Rust
Now that we had a look at a short introduction on Rust for Data Engineering, let’s get an understanding for where it came from and perhaps where it’s headed to. The beginnings Graydon Hoare created Rust as a personal project in 2006 while working at Mozilla. The language was announced

Features of Rust

Features of Rust
Now let’s have a look at Rust’s features, without going too much into details. Just a light overview of what this is all about and how it might be helfpul for us data engineers. Statically-typed and compiled Rust is a statically typed language. To simplify, this means that the type

Advantages of Rust for Data Engineering

Advantages of Rust for Data Engineering
After going through some of Rust’s main features, it might make sense to have a closer look at how these features help our data engineering efforts. Some of the points have already been covered but it makes sense to list them again in a general overview. Reliability and scalability Rust

How does Rust compare to Python? (and other programming languages)

How does Rust compare to Python (and other programming languages)?
It’s important to know how Rust compares to Python if you consider switching some of your workloads to Rust. Using Rust instead of Python is a tough sell especially for things like data engineering. For any data problem that you can think of, there might surely be some Python implementation

Conclusion

Recap
So far we’ve covered many topics ranging from a light introduction to the Rust programming language, it’s history, features and benefits for Data Engineering. We also covered how it compares to other programming languages and which that made you excited about what is ahead of us: writing code, running and

Chapter 2: Getting started with Rust, developer environment setup and basics

I hope you're now curious and are itching to get started writing Rust code on your own computer. Getting started with a new programming language is never an easy task. It's especially difficult considering that you might not yet know what you don't know, which makes searching for solutions very difficult. My goal is not to be patronizing, rather assume that you're starting out and need guidance. If after reading this you manage to build your own Rust code, then I would have succeeded.

This is why this part is getting it's own chapter. I'll guide you from 0 to getting productive with Rust, from installing the tools you need up to building your first code using an external Rust library.

The final section of this chapter will be the executive summary: a sort of cheatsheet or recap you can refer to going forward, I'll keep it short but useful.

Keep in mind, my focus is not to build an academic lecture or theorize about concepts, but rather to get you productive and working on concrete data problems with Rust.

So what's next? Installing stuff!