This repository is for the Apache Flink® Table API: Processing Data Streams in Java course provided by Confluent Developer.
Throughout this course, we'll be executing a series of Flink queries focusing on an eCommerce Marketplace. Before you get started with the exercises, take a moment to familiarize yourself with the repository.
The course is broken down into several exercises. You will work on exercises in the ./exercises folder.
The exercise.sh script is there to help you advance through the exercises.
The basic flow of an exercise is:
stagethe exercise (I.E. Import any new code necessary to begin the exercise).solvethe exercise (Either manually, or using thesolvecommand below).
You can list the exercises by running:
./exercise.sh listYou can stage an exercise by running:
./exercise.sh stage <exercise number>You can automatically solve an exercise by running:
./exercise.sh solve <exercise number>WARNING: Solving an exercise will overwrite your code.
You can solve a single file by running:
./exercise.sh solve <exercise number> <file name>NOTE: We encourage you to solve the exercise yourself. If you get stuck, you can always look at the solution in the solutions folder (see below).
The staging folder contains the files necessary to set up each exercise. These will be copied to the exercises folder when you execute the stage command with the exercise.sh script.
In general, you can ignore this folder.
The solutions folder contains complete solutions for each exercise. These will be copied to the exercises folder when you execute the solve command with the exercise.sh script.
In general, you can ignore this folder, but you might find it helpful to reference if you get stuck.
This repo contains a .devcontainer.json file.
If you are using a Development Container compatible IDE (Eg. VS Code, IntelliJ Ultimate) and have Docker running, you can use the .devcontainer.json file to automatically configure your development environment with the required settings. This includes automatically setting up the correct version of the JVM, installing Maven, installing the Confluent CLI, and potentially configuring your IDE with any required plugins. It will give you a fully functional development environment in moments.
Depending on what IDE you are using, the process can vary.
In VS Code, open the folder that contains the .devcontainer.json file. When prompted, re-open it in the container. Please note that you may need to install the Dev Containers plugin for VS Code prior to opening.
In IntelliJ Ultimate, right-click on the .devcontainer.json file, select the Dev Containers menu, and then choose Create Dev Container and Mount Sources. Once it has finished it will prompt you to connect to the container.
See here for more details:
If you are working in the Development Container and intend to use the Confluent CLI, you will need to login to the CLI using the --no-browser flag.
This repository contains a Gitpod configuration file. You can use Gitpod to spin up a browser-based development environment for working on these exercises.
If you are working in Gitpod and intend to use the Confluent CLI, you will need to login to the CLI using the --no-browser flag.