NebulaStream Demo

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:

Output of running the <code>nebulastream/nes-demo-image</code> Docker container

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 output/rest-query-example.csv. 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
...

Next steps

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.