Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Apache Flink Relational Programming using Table API and SQL
Rating: 4.1 out of 5(104 ratings)
772 students

Apache Flink Relational Programming using Table API and SQL

Learn Apache Flink Table and SQL Interfaces via Python to process batch and streaming data workloads at scale
Created byAdam McQuistan
Last updated 11/2022
English
English [Auto],

What you'll learn

  • Apache Flink Table API
  • Apache Flink SQL Interface
  • Apache Flink with Python (PyFlink)
  • Batch Data Processing
  • Stream Data Processing

Course content

4 sections42 lectures4h 13m total length
  • Introduction0:17

    Explore the unified batch and stream processing offered by Apache Flink through the Table API and SQL interface.

  • Why this Course is Important0:41

    Apache Flink powers distributed computing with layered abstractions for batch and streaming workloads, offering APIs in Java and Python and increasing popularity among data-centric developers.

  • Focus of Course1:15

    Focuses on using Python bindings for Apache Flink to access table APIs and SQL interfaces for relational programming, with future examples in Java or Schola.

  • About Instructor2:11

    Meet Adam McQuiston, instructor for this Apache Flink Relational Programming using Table API and SQL course. Leverage his polyglot background—full stack, devops, cloud—and extensive certifications.

  • Course Prerequisites0:40

    Identify prerequisites for this course, including Python and school programming experience, an understanding of distributed computing and operating systems, and a strong desire to learn batch and stream processing.

Requirements

  • Previous experience with Python programming
  • Basic Understanding of Operating Systems and Docker
  • Basic Understanding of Distributed Computing

Description

Apache Flink is widely growing in popularity for its ability to perform advanced stateful computations in a way that scales to meet the demands of both high throughput and high performance use cases. Not only is Apache Flink very scalable and performant it also integrates with a wide variety of source and sink data systems like flat files (CSV,TXT,TSV), Databases, and Message Queues (Kafka, AWS Kinesis, GCP Pub/Sub, RabbitMQ).

In this course students will learn to harness the power of Apache Flink which is a modern distributed computing framework providing a unified approach to both batch and streaming data processing workloads. This course specifically focuses on the relational programming paradigm exposed through Apache Flink's Table API and SQL interface (with examples in Python) offering intuitive yet powerful abstractions to process vast amounts of data in either bounded (batch) or unbounded (streaming) sources.

  • Students learn batch processing with Flink through many examples of consuming, processing, and producing results from/to the filesystem in CSV format.

  • Students also learn stream processing with Flink through several examples consuming, processing and producing results from/to Apache Kafka running in a local Dockerized Kafka cluster.

Apache Flink offers support for developing Flink applications with the Table API and SQL interface in Java, Scala and Python. However, this course focuses on using the Python bindings for Apache Flink. The focus on Python for this course was chosen due to the popularity of the Python programming language, particularly in the big data engineering ecosystem, but also due to the underrepresentation of Python in existing Apache Flink courses which primarily cover the Java and Scala APIs of Flink.

Who this course is for:

  • Data centric Python developers