EdX

Rust Data Engineering (edX)

Rust Data Engineering (edX)

Use Rust's power for high-performance, concurrent data pipelines - from core principles to real-world deployments.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

Rust for Data Engineering: Efficient, Safe, and Concurrent Data Processing

  • Learn to build robust data processing systems using Rust
  • Explore Rust's performance, safety, and concurrency for data tasks

This 4-week course dives deep into leveraging Rust for efficient and reliable data engineering workflows:

  • Mastering Rust data structures and collections for data processing
  • Leveraging Rust's safety/security features in data engineering context
  • Using Rust libraries like Diesel, async, Polars, Apache Arrow
  • Interfacing with data stores, REST/gRPC APIs, AWS SDK
  • Designing full-fledged data pipelines and processing systems in Rust
  • Hands-on projects for building data ingestion tools, ETL pipelines
  • Best practices for handling large datasets, optimizing performance
  • Techniques for writing safe, concurrent, and lock-free code
  • Deploying and maintaining Rust-based data engineering solutions

By the end, you'll gain practical experience building high-performance, secure data systems using Rust - preparing you for real-world data challenges.
This course is part of the following programs:

What you'll learn

  • Leverage Rust's robust data structures and collections for efficient data manipulation.
  • Use Rust's safety and security features to build reliable and secure data engineering solutions.
  • Utilize Rust's libraries and tools specific to data engineering, such as Diesel, async, Polars, and Apache Arrow.
  • Interface effectively with databases, data processing systems, REST and gRPC protocols, and leverage AWS SDK for cloud-based data operations in Rust.
  • Design and implement comprehensive data processing systems in Rust.
  • Apply the principles of concurrent programming in Rust to build high-performance data processing applications.
  • Identify and mitigate common data engineering problems using Rust's unique features, like its strong type system and memory safety guarantees.
  • Develop command-line applications and multi-threaded servers in Rust, focusing on efficient, safe, and concurrent processing of data.
  • Create practical projects, gaining hands-on experience in Rust for data engineering.

Syllabus

\- Module 1: Rust Data Structures: Collections (18 hours)
\- 24 videos (Total 111 minutes)
\- 29 readings (Total 290 minutes)
\- 1 quiz: Rust Collections (Quiz, 30 minutes)
\- 2 assignments
\- Quiz-Getting Started With The Modern Rust Development Ecosystem (Assignment, 180 minutes)
\- Quiz-Rust Sequences and Maps (Assignment, 180 minutes)
\- 5 ungraded labs (60 minutes each)
\- Module 2: Safety, Security and Concurrency with Rust (17 hours)
\- 22 videos (Total 93 minutes)
\- 21 readings (Total 210 minutes)
\- 1 quiz: Safety, Security and Concurrency with Rust (Quiz, 30 minutes)
\- 3 assignments
\- Quiz-Rust Safety and Security Features (Assignment, 180 minutes)
\- Quiz-Security Programming with Rust (Assignment, 180 minutes)
\- Quiz-Rust Concurrency (Assignment, 180 minutes)
\- 3 ungraded labs (60 minutes each)
\- Module 3: Rust Data Engineering Libraries and Tools (13 hours)
\- 21 videos (Total 127 minutes)
\- 14 readings (Total 140 minutes)
\- 1 quiz: Quiz3: Rust Data Engineering Libraries and Tools (Quiz, 30 minutes)
\- 2 assignments
\- Quiz-Using Rust to Manage Data, Files and Network Storage (Assignment, 180 minutes)
\- Quiz-DataFrames with Rust, Python and Notebooks (Assignment, 180 minutes)
\- 3 ungraded labs (60 minutes each)
\- Module 4: Designing Data Processing Systems in Rust (13 hours)
\- 22 videos (Total 124 minutes)
\- 17 readings (Total 170 minutes)
\- 2 quizzes
\- Designing Data Processing Systems in Rust (Quiz, 30 minutes)
\- Final Course Quiz (Quiz, 30 minutes)
\- 2 assignments
\- Quiz-Getting Started with Rust Data Pipelines (Including ETL) (Assignment, 180 minutes)
\- Quiz-Using Rust and Python for LLMs, ONNX, Hugging Face, and PyTorch Pipelines (Assignment, 180 minutes)
\- 2 ungraded labs (60 minutes each)

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Data Structures and Algorithm Design Part I | 数据结构与算法设计(上) (edX) EdX
Tsinghua University,TsinghuaX

Data Structures and Algorithm Design Part I | 数据结构与算法设计(上) (edX)

Learn the basics of data structures and methods to design algorithms and analyze their performance. 本课程旨在围绕各类数据结构的设计与实现,揭示其中的规律原理与方法技巧;同时针对算法设计及其性能分析,使学生了解并掌握主要的套路与手段。

Self Paced
Self-Paced
Data Structures & Algorithms I: ArrayLists, LinkedLists, Stacks and Queues (edX) EdX
Georgia Institute of Technology,GTx

Data Structures & Algorithms I: ArrayLists, LinkedLists, Stacks and Queues (edX)

Work with the principles of data storage in Arrays, ArrayLists & LinkedList nodes. Understand their operations and performance with visualizations. Implement low-level linear, linked data structures with recursive methods, and explore their edge cases. Extend these structures to the Abstract Data Types, Stacks, Queues and Deques.

Self Paced
Self-Paced
Data Structures & Algorithms II: Binary Trees, Heaps, SkipLists and HashMaps (edX) EdX
Georgia Institute of Technology,GTx

Data Structures & Algorithms II: Binary Trees, Heaps, SkipLists and HashMaps (edX)

Become familiar with nonlinear and hierarchical data structures. Study various tree structures: Binary Trees, BSTs and Heaps. Understand tree operations and algorithms. Learn and implement HashMaps that utilize key-value pairs to store data. Explore probabilistic data structures like SkipLists. Course tools help visualize the structures and performance.

Self Paced
Self-Paced
Python for Data Engineering Project (edX) EdX
IBM

Python for Data Engineering Project (edX)

An opportunity to apply your foundational Python skills via a project, using various techniques to collect and work with data. Journey into the realm of becoming a Data Engineer and apply your basic Python knowledge of working with data. You will exercise various techniques in Python to extract data in multiple file formats from different sources, transform it into specific datatypes, and then prepare it for loading it into a database.

Self Paced
Self-Paced