The quickest way to see NebulaStream in action is to run our demo installation inside Docker on your local machine.
The demo launches a NebulaStream instance, consisting of the coordinator and a worker, which represents a wind turbine. The worker generates data collected from the wind turbine for one day from a CSV file. The data contains a tuple for every minute of the day which, among other things, contains the produced energy in kW/h during the last minute.
The demo also executes a query, which aggregates the produced energy for each wind turbine on a tumbling window of 10 minutes. The result of the query is sent to a CSV file.
Running the demo
The demo is distributed as a Docker container.
To run the demo, create an empty folder
output and run the Docker container as follows.
mkdir -p output docker run -v $(pwd)/output:/output --rm nebulastream/nes-demo-image:latest
Afterwards, you should see the output of the NebulaStream coordinator and worker starting up. The output should look similar to the following screenshot:
The container exits automatically after about 15 seconds. That should be enough to for the query to finish.
Afterwards, you can see the result of the query in the CSV file
It should contain the following content (only the first six out of 144 lines are shown):
wind_turbines$start:INTEGER,wind_turbines$end:INTEGER,wind_turbines$metadata_id:ArrayType,wind_turbines$features_properties_mag:(Float) 1647385200000,1647385800000,650f0dac-6228-4ee8-906d-4173261d7095,7542428.500000 1647385800000,1647386400000,650f0dac-6228-4ee8-906d-4173261d7095,9941600.000000 1647386400000,1647387000000,650f0dac-6228-4ee8-906d-4173261d7095,10842671.000000 1647387000000,1647387600000,650f0dac-6228-4ee8-906d-4173261d7095,14288031.000000 1647387600000,1647388200000,650f0dac-6228-4ee8-906d-4173261d7095,8157870.000000 ...
To learn more about NebulaStream, you should go through our NebulaStream tutorial next. In the tutorial, you will reproduce this demo manually. Doing so, you will learn how to set up a NebulaStream instance network in Docker, how to define physical and logical sources, and how to run a streaming query. The tutorial also shows how to visualize the results of the query in the NebulaStream UI.