In this second installment of the Dataflow course series, we are going to be diving deeper on developing pipelines using the Beam SDK. We start with a review of Apache Beam concepts. Next, we discuss processing streaming data using windows, watermarks and triggers. We then cover options for sources and sinks in your pipelines, schemas to express your structured data, and how to do stateful transformations using State and Timer APIs. We move onto reviewing best practices that help maximize your pipeline performance. Towards the end of the course, we introduce SQL and Dataframes to represent your business logic in Beam and how to iteratively develop pipelines using Beam notebooks.
Overview
Syllabus
1. Introduction
- This module introduces the course and course outline.
2. Beam Concepts Review
- Review main concepts of Apache Beam, and how to apply them to write your own data processing pipelines.
3. Windows, Watermarks Triggers
- In this module, you will learn about how to process data in streaming with Dataflow. For that, there are three main concepts that you need to learn: how to group data in windows, the importance of watermark to know when the window is ready to produce results, and how you can control when and how many times the window will emit output.
4. Sources & Sinks
- In this module, you will learn about what makes sources and sinks in Google Cloud Dataflow. The module will go over some examples of Text IO, FileIO, BigQueryIO, PubSub IO, KafKa IO, BigTable IO, Avro IO, and Splittable DoFn. The module will also point out some useful features associated with each IO.
5. Schemas
- This module will introduce schemas, which give developers a way to express structured data in their Beam pipelines.
6. State and Timers
- This module covers State and Timers, two powerful features that you can use in your DoFn to implement stateful transformations.
7. Best Practices
- This module will discuss best practices and review common patterns that maximize performance for your Dataflow pipelines.
8. Dataflow SQL & DataFrames
- This modules introduces two new APIs to represent your business logic in Beam: SQL and Dataframes.
9. Beam Notebooks
- This module will cover Beam notebooks, an interface for Python developers to onboard onto the Beam SDK and develop their pipelines iteratively in a Jupyter notebook environment.
10. Summary
- This module provides a recap of the course.
Taught by
Google Cloud Training