Stackable

Demos

Demos

Stackable Demos

Einsatzmöglichkeiten der Stackable Data Platform

Die nachfolgenden Anwendungsbeispiele demonstrieren, wie einfach und flexibel sich die Stackable Data Platform für sehr unterschiedliche Anwendungsfälle einsetzen lässt. Alle Demos fokussieren bewusst auf jeweils ein Themengebiet und:

  • nutzen stackablectl zur Installation
  • lassen sich 1:1  bei Dir aufsetzen
  • demonstrieren Zusammenhänge schrittweise
  • sind als Open Source Code in Github verfügbar

Demo: data-lakehouse-iceberg-trino-spark

Data Lakehouse Technologie Showcase

Diese Technologie-Demo zeigt einige der Funktionen der neuesten Features von Stackable.

Die Demo enthält Elemente früherer Demos, z.B.

  • Echtzeit-Event-Streaming mit Apache NiFi
  • Trino für SQL-Zugriff und
  • visuelle Datenanzeige und -analyse mit Apache Superset

Zusätzlich enthält die Demo aber auch neue Lakehouse-Funktionen wie die Integration mit Apache Iceberg, die z. B. transaktionale Konsistenz und vollständige Schema-Evolution bietet.

Das Ergebnis ist eine umfassende Vorlage für einen modernen Data Stack mit der Stackable Data Platform.

Weitere Highlights der Demo:

  • Apache Spark: Eine mehrsprachige Engine für die Ausführung von Data Engineering, Data Science und maschinellem Lernen. In dieser Demo wird es verwendet, um Daten von Kafka in das Lakehouse zu streamen.
  • Open Policy Agent (OPA): Eine quelloffene, universell einsetzbare Policy-Engine, die die Durchsetzung von Richtlinien im gesamten Stack vereinheitlicht. In dieser Demo wird sie als Autorisierer für Trino verwendet, um zu entscheiden, welcher Benutzer welche Daten abfragen darf.

im K8s-Cluster:

stackablectl demo install data-lakehouse-iceberg-trino-spark

(Hinweis: getestet mit 10x4Core Nodes jeweils mit 20GB RAM ind 30GB HDD, Persistent Volumes mit Gesamtgröße ca. 1TB)

Anmerkung: für ein kleineres Setup, schau Dir gern unsere trino-iceberg Demo an:

stackablectl demo install trino-iceberg

Demo: spark-k8s-anomaly-detection-taxi-data

Machine Learning zur Ausreißererkennung

Diese Stackable-Data-Platform-Demo stellt eine Erweiterung der ursprünglichen TRINO-TAXI-DATA-Demo um Apache Spark™ dar.

Ein oft vernachlässigter Faktor beim Einsatz von Daten zum Machine Learning ist die Datenqualität. Falschmessungen, fehlende Werte und ähnliches verfälschen die spätere Prognosequalität. In bestimmten Szenarien sind Spitzen, Ausreißer oder andere Anomalien in den Daten auch relevant, in dem sie eine Grundlage für die Definition von Warnmeldungen bilden können. 

Somit liefert die Erkennung von Ausreißern einen wichtigen Beitrag für die erfolgreiche Nutzung von Daten. Wissenschaft und Wirtschaft setzen in der Praxis hier heutzutage eine Vielzahl an Verfahren und Methoden ein.

In dieser Demo erfolgt die Ausreißererkennung exemplarisch mit Apache Spark, indem ein Isolation Forest Algorithmus auf die Daten ausgeführt wird. Der Isolation-Forest-Algorithmus wird für das unüberwachte Modelltraining (unsupervised model training) verwendet, was bedeutet, dass das Modell ohne Labelling auskommt.

Ergebnisse der Erkennung werden im Apache Iceberg Format gespeichert und mit Apache Superset visualisiert.

im K8s-Cluster:


stackablectl demo install spark-k8s-anomaly-detection-taxi-data

Demo: NIFi-kafka-druid-water-level-data

Echtzeitanzeige von Wasserpegelständen

Niedrigwasser oder Überschwemmungsgefahr – die Wasserpegel unserer Flüsse sind in Zeiten des Klimawandels ins öffentliche Interesse gerückt.

Unsere Stackable-Data-Platform-Demo zeigt die Pegelstände von Flüssen nahezu in Echtzeit auf Basis der Daten von Pegel Online.

Mehrere Komponenten der Stackable Data Platform spielen dabei zusammen, ohne dass dafür ein großer Konfigurationsaufwand notwendig ist:

Mit Apache Nifi und Apache Kafka werden Pegelstandsmessungen von deutschlandweit verteilten Messstationen über eine API von Pegel Online abgeholt und in Apache Druid gespeichert.

Druid ist eine skalierbare Echtzeitdatenbank, die mittels SQL abgefragt werden kann. Diese Methode wird in der Demo genutzt, um über Apache Superset die Pegelstände abzufragen und im Dashboard zu visualisieren. Für die dauerhafte Speicherung benötigt Druid einen sogenannten „Deep Storage“, der in unserem Beispiel über MinIO als S3-kompatibler Objektspeicher, wie er in den meisten öffentlichen und privaten Cloud-Umgebungen vorhanden ist, realisiert wird.

im K8s-Cluster:


stackablectl demo install nifi-kafka-druid-water-level-data

Demo: trino-taxi-data

Analysen mit einem Data Lake

Diese Stackable-Data-Platform-Demo zeigt in S3 gespeicherte Daten für die Analyse und bis zur Anzeige im Dashboard. Mit unseren Stackable-Operatoren werden verschiedene Komponenten konfiguriert und ausgerollt. Dieses Beispiel zeigt insbesondere, wie ein rollenbasierter Datenzugriff über den Open Policy Agent realisiert werden kann:

  • In MinIO, einem S3-kompatiblen Objektspeicher, werden die Daten für diese Demo persistent gespeichert.

  • Hive-Metastore speichert die notwendigen Metadaten, um die Beispieldaten über SQL zugreifbar zu machen und wird in unserem Beispiel von Trino verwendet.

  • Trino ist unsere extrem schnelle, verteilte SQL-Abfrage-Engine für Big-Data-Analysen, mit der sich Datenräume erkunden lassen und die wir in der Demo verwenden, um SQL-Zugriffe auf die Daten zu ermöglichen.

  • Apache Superset verwenden wir schließlich, um Daten von Trino über SQL-Abfragen abzurufen und Dashboards auf diesen Daten aufzubauen.

  • Open Policy Agent (OPA): Eine quelloffene, universelle Policy Engine, die die Durchsetzung von Richtlinien im gesamten Stack vereinheitlicht. In dieser Demo autorisiert OPA, welcher Benutzer welche Daten abfragen darf.

im K8s-Cluster:

stackablectl demo install trino-taxi-data

Demo: NIFI-kafka-druid-earthquake-data

Event Streaming von Erdbeben-Daten

Diese Stackable-Data-Platform-Demo zeigt gestreamte Erdbebendaten bis zur Anzeige im Dashboard. Sie enthält folgende Operatoren:

  • Apache Superset: Eine moderne Plattform zur Datenexploration und -visualisierung. Diese Demo nutzt Superset, um Daten von Druid über SQL-Abfragen abzurufen und Dashboards auf diesen Daten aufzubauen.

  • Apache Kafka®: Eine verteilte Event-Streaming-Plattform für leistungsstarke Datenpipelines, Streaming-Analysen und Datenintegration. In dieser Demo wird Kafka als Event-Streaming-Plattform verwendet, um die Daten nahezu in Echtzeit zu streamen.

  • Apache Nifi: Ein einfach zu bedienendes, leistungsstarkes System zur Verarbeitung und Verteilung von Daten. Diese Demo verwendet es, um Erdbebendaten aus dem Internet zu holen und in Kafka zu übertragen.

  • Apache Druid: Eine Echtzeit-Datenbank zur Unterstützung moderner Analyseanwendungen. Diese Demo verwendet Druid, um Daten nahezu in Echtzeit aus Kafka aufzunehmen, zu speichern und den Zugriff auf die Daten über SQL zu ermöglichen.

  • MinIO: Ein S3-kompatibler Objektspeicher. In dieser Demo wird er als persistenter Speicher für Druid verwendet, um alle gestreamten Daten zu speichern.

im K8s-Cluster:

stackablectl demo install nifi-kafka-druid-earthquake-data

Newsletter

Zum Newsletter anmelden

Mit dem Stackable Newsletter bist Du immer auf dem Laufenden, wenn es um Updates rund um Stackable geht!