Stackable Docs Hub

Stackable

Stackable

Real-time display of water levels

Demo · nifi-kafka-druid-water

Real-time display of water levels

Illustration of a map of Real-time display of water levels

Near real-time river water levels across Germany: Apache NiFi pulls the Pegel Online API, streams through Apache Kafka, is ingested by Apache Druid and shown live in a Superset dashboard.

Illustration of a map of Real-time display of water levels

HOW TO START

With a Kubernetes cluster, run a single command:

$stackablectl demo install nifi-kafka-druid-water

Key Features

What this demo shows

Real public data

Live measurements from German Pegel Online water-level stations.

Sub-second analytics

Druid answers time-series queries in milliseconds.

Backpressure-safe

Kafka buffers spikes between ingestion and storage.

Streaming ETL

NiFi to Kafka to Druid, continuously and without manual steps.

Live dashboards

Superset auto-refreshes as new measurements arrive.

Geospatial view

Stations plotted on a map alongside their readings.

Demo Components

The stack under the hood

Apache NiFi

Ingestion

Polls the Pegel Online API and publishes readings to Kafka.

Apache Kafka

Streaming

Durable event log buffering the measurement stream.

Apache Druid

Real-time OLAP

Ingests from Kafka and serves fast time-series queries.

Apache Superset

Dashboards

Live dashboard visualizing water levels across stations.

Demo Workflow

From public API to live dashboard

1

Installation

One command installs NiFi, Kafka, Druid and Superset.

2

Fetch from Pegel Online

NiFi calls the public API and publishes readings to Kafka.

3

Buffer in Kafka

Kafka retains the stream and smooths out spikes.

4

Ingest into Druid

Druid consumes the Kafka topic for real-time OLAP.

5

Watch it live

See water levels update in the Superset dashboard.

Ready to run it yourself?

Stand up a real-time streaming analytics pipeline on public sensor data.