Senior Developer Advocate
In this lecture, you will learn why Python has become such a popular language for developing real time event streaming applications that take advantage of the Apache Kafka platform. You will also be presented with details about the modules and hands-on exercises that follow.
We will only share developer content and updates, including notifications when new content is added. We will never send you sales emails. 🙂 By subscribing, you understand we will process your personal information in accordance with our Privacy Statement.
It's becoming increasingly important for companies to be able to respond to the events that affect their business in real time. Apache Kafka has become the de facto standard for meeting this need for real-time data processing. If you're a Python developer, this course will show you how to harness the power of Apache Kafka in your applications. You'll learn how to build Kafka producer and consumer applications, how to work with the event schema, and take advantage of the Confluent Schema Registry and more. Python and Kafka, two great technologies that work great together. Let's get started. In this course, we will learn how we can take advantage of data in motion by processing events in real time using the Python programming language and Apache Kafka. Kafka and real-time data are a natural fit, but why Python? Python is a full-featured programming language that has been carefully designed for developer productivity and ease of use. Experienced programmers can pick it up quickly, and those new to programming find a much smoother learning curve. It's also a lot of fun to code in. Python has also become quite ubiquitous, ranking as the most popular language on the TIOBE Index for August, 2022, and consistently in the top three. This high adoption leads to more resources available, which makes it easier for teams to learn and to grow when needed. Python is a versatile language and is popular for automating system administration tasks or end-to-end tests. It has also become the lingua franca of machine learning and data science applications and data engineering, and it's widely used by application developers for building web applications and microservices. Strong communities tend to grow around great technology, and Python is no exception. Whether you're talking about online support forums like Slack or Stack Overflow, community events such as conferences and meetups, or books available in print or online, you'll find all that and more in the Python community. This active and welcoming community provides enormous learning opportunities as well as a huge pool of potential teammates. All of these together help to explain why Python has become such a popular programming language for so many use cases. Apache Kafka is an event streaming platform that has become the de facto standard for data in motion. If you're not familiar with Kafka, please take a look at our Kafka 101 course on Confluent Developer. For developers building applications with Kafka, our main tool is the client library. While the client library that comes with Kafka is Java-based and can only be used with JVM languages, there are client libraries available for most popular languages, including multiple options for Python. In this course, we'll focus on the Python client library provided by Confluent. Confluent's Python Client for Apache Kafka is a fast, full-featured library of classes and functions that enable us to harness the power of Kafka in our Python applications. To get the full benefits of this package, we recommend using a recent version of Kafka, but the Python client is compatible with older versions as well. Confluent maintains and supports the Python client and is actively working to keep it on par with the Java client. In this course, we will look more deeply into the following classes in the Python Kafka client package: the producer, which we will use to send events to Kafka Topics, the consumer, which we can use to read events from one or more Kafka topics, the Schema Registry client that gives us access to the Confluent Schema Registry, and we'll cover serializers and deserializers that enable us to use JSON Schema, Protocol Buffers, or Avro schemas with our events. Finally, we'll take a look at the AdminClient, which we can use to create and modify resources such as topics, partitions, access control lists, and more. As you learn about what these Python classes do and how to work with them, you'll put your new knowledge to work with hands-on exercises. As part of these exercises, you will develop simple Apache Kafka client applications with Python that will have you produce data to and consume data from Confluent Cloud. So if you haven't already created a Confluent Cloud account, take some time to sign up now so that you're ready to go with the first exercise. Be sure to look for the promo code and use it when signing up to get the additional free usage that it provides. Once you have created your Confluent Cloud account, continue with the first hands-on exercise that follows this module, during which you will install the Confluent Python package and set up the environment that you will use for the exercises that follow in the course. My colleague Danica Fine will now walk you through setting up your free Confluent Cloud account.