Using Apache Pulsar Functions

Learn how to write and deploy stream-native functions to process data using Pulsar Functions


This micro-course will introduce Pulsar Functions, the lightweight stream-processing framework in Apache Pulsar, demonstrating how it works and how to use it. It starts with an overview explaining how Pulsar Functions compares to other technologies used for processing event data and then walks through examples of how to use it in multiple scenarios.

Topics covered in this course:


Before getting started with this course please we suggest that you take a look at the following resources:

Part 1: Why Pulsar Functions

In this introduction, Streamlio’s Sanjeev Kulkarni explains the motivation for the creation of Apache Pulsar Functions and how they differ from other approaches to stream processing.

Part 2: Creating and Deploying a Pulsar Function

This video tutorial explains how to write a Pulsar Function and illustrates how to deploy that function to a Pulsar cluster using a simple example.

Part 3: Composing Functions

How can you compose more complex processing jobs in Pulsar Functions? Sanjeev explains how you can connect the output of one Pulsar Function to the input of another to perform a sequence of processing steps in this video example.

Part 4: Log Topics

Next we take a log at how to output logging information to a special log topic for Pulsar Functions to assist in debugging, troubleshooting and monitoring.

Part 5: Using Runtime Parameters

Enabling further runtime flexibility for Functions, this tutorial explains how to use pass parameters into an Apache Pulsar Function and provides a live code demo of an example.

Summary and Additional Resources

In this course we introduced you to Apache Pulsar Functions. You now know:

  • How Pulsar Functions compares to other stream processing frameworks
  • How to create and deploy a Pulsar Functions
  • How to use function composition, parameters, and log topics to write flexible processing using Functions

To learn more, we suggest the following resources: