Building a Data Pipeline

In our Building a Data Pipeline course, you will learn how to build a Python data pipeline from scratch. You'll learn concepts such as functional programming, closures, decorators, and more.

Over the course of this class, you'll gradually write a robust data pipeline with a scheduler using the versatile Python programming language. By the time you’re finished, you'll be able to describe the difference between imperative and functional programming. You'll also be able to build a simple data pipeline using the functional paradigm. You'll feel confident using functional closures in Python, implementing a well-designed pipeline API, and writing decorators and applying them to functions.

At the end of the course, you'll work on a real-world project, using a data pipeline to summarize Hacker News data. This project is a chance for you to combine the skills you learned in this course and build a real-world data pipeline from raw data to summarization. This project also serves as a portfolio project that you can showcase to your future employer so they can feel confident in your data engineering and Python programming skills.

By the end of this course, you'll be able to understand:

  • The basics of functional programming.
  • How to write robust pipeline with a scheduler in Python.
  • Advanced Python concepts such as closures, decorators, and more.

Learn by coding!

Get started today.

By creating an account you agree to accept our terms of use and privacy policy.

Learn how to build a pipeline

Functional Programming

Learn the basics of functional programming in Python.

Pipeline Tasks

Build a simple data pipeline using the functional programming paradigm.

Building A Pipeline Class

Build a general task pipeline class from scratch.

Multiple Dependency Pipeline

Adding multiple dependencies and a scheduler to the pipeline.

Hacker News Pipeline

Learn how to use a data pipeline to summarize Hacker News data.

(function(d) { d.addEventListener("DOMContentLoaded", function() { var pathname = d.location.pathname.replace(/^[/]|[/]$/g, "").replace("/", "-"); var tags = d.getElementsByTagName("iframe"); var type = pathname.startsWith("course") ? "?course=" : pathname.startsWith("path") ? "?path=" : null; if (type) { var i; for (i = 0; i < tags.length; i++) { if (tags[i].src.indexOf("signup#iframe") !== -1) { tags[i].src = tags[i].src.replace("#iframe", "") + type + pathname + "#iframe"; } } } }, false); })(document);