Suchen

Definition Was ist Datashader?

| Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Nico Litzel

Datashader stellt eine Pipeline zur automatisieren Erzeugung grafischer Repräsentationen großer Mengen von Daten zur Verfügung. Es handelt sich um eine Open-Source-basierte Python Library. Sie lässt sich standalone oder zusammen mit anderen Libraries wie Bokeh und HoloViews verwenden. Arbeitsaufgaben des Datashaders lassen sich flexibel an mehrere CPUs oder GPUs übertragen. Datashader ist ein Projekt der Anaconda, Inc.

Firma zum Thema

(Bild: © aga7ta - stock.adobe.com)

Datashader ist der Name einer Python Library, die sich zur Erzeugung grafischer Repräsentationen großer Datenmengen verwenden lässt. Sie automatisiert das grafische Rendering der Daten mithilfe von Pipelines und arbeitet mit anderen Libraries wie Bokeh und HoloViews zusammen. Selbst sehr große Datenmengen lassen sich schnell, exakt und performant verarbeiten und visualisieren. Einzelne Arbeitsaufgaben können parallelisiert und an mehrere CPUs oder beispielsweise per CUDA an mehrere GPUs übertragen werden.

Datashader stellt die Werkzeuge zur Erstellung der Pipelines zur Verfügung. Schon mit wenigen Zeilen Python-Code lassen sich Plots erzeugen. Der Prozess der Erzeugung der Images wird in mehrere Einzelschritte unterteilt. Fertige Grafiken lassen sich in Plots einbetten und beispielsweise per Webbrowser betrachten.

Der Datashader ist ein Projekt der Anaconda, Inc. Er ist unter Open-Source-BSD-Lizenz frei erhältlich und für kommerzielle oder nicht-kommerzielle Zwecke einsetzbar. Erhältlich ist der Datashader über GitHub. Er unterstützt verschiedene Python-Versionen auf Betriebssystemen wie Linux, macOS und Windows. Das aktuellste Release ist v0.11.0 (Stand Mitte 2020).

Die Funktionsweise und die einzelnen Arbeitsschritte des Datashaders

Der Datashader setzt große Data-Sets in Raster-Bilder um, die die Einzeldaten grafisch repräsentieren. Er unterteilt die Erzeugung der Bilder in drei Hauptschritte. Diese drei Hauptschritte sind:

  • Schritt 1 – Projektion: Die Daten werden in ein Plotting-Raster projiziert
  • Schritt 2 – Aggregation: Datasets werden auf kleinere Aggregate reduziert
  • Schritt 3 – Transformation: die Aggregate werden in Bilder transformiert

Aus den Bildern lassen sich Plots erzeugen, die sich beispielsweise per Webbrowser betrachten und mithilfe weiterer Libraries interaktiv bearbeiten lassen. Datashader arbeitet beispielsweise mit Bokeh oder HoloViews zusammen.

Der Datashader im Zusammenspiel mit Bokeh oder HoloViews

Der Datashader ist ein eigenes Projekt und kein Bestandteil von Bokeh oder HoloViews. Die Funktionalität des Datashaders ist auf das Generieren von aggregierten Daten von Arrays und deren Repräsentation als Bilder beschränkt. Bokeh und HoloViews sind eigene Projekte. Sie konzentrieren sich auf das Erzeugen Browser-basierter Visualisierungen und Dashboards und können vom Datashader erzeugt Bilder verarbeiten. Als Standalone-Library erzeugt Datashader Arrays oder Images, ohne die Möglichkeit, Achsen, Legenden, Farbbalken oder dynamische Elemente einzubinden. Funktionen wie das Einbinden von Achsen und Legenden, interaktives Zoomen oder Mouseover-Effekte stellen Libraries wie Bokeh oder HoloViews bereit.

Typischer Einsatzbereich des Datashaders

Der Datashader eignet sich sehr gut, wenn es darum geht, mit extrem großen Datenmengen zu arbeiten und ihre Verteilung grafisch zu repräsentieren. Aus den Daten erzeugt er eine Ergebnisdatenstruktur mit fester Größe, die sich über einen Browser leicht darstellen lässt. So können aus beliebigen Ausgangsdatenmengen übersichtliche Plots erstellt und visualisiert werden. Typische Einsatzbereiche sind Visualisierungen vieler einzelner Datenpunkte in einen einzigen Plot beispielsweise für statistische Analysen, wissenschaftliche Auswertungen oder die Darstellung von Daten mit geografischen Abhängigkeiten.

Die Vorteile des Datashaders

Der Datashader stellt eine vielseitig einsetzbare Pipeline zur Verfügung, mit der sich viele verschiedene Arten von grafischen Plots und Visualisierungen erstellen lassen. Die Pipelines arbeiten performant und sind gut skalierbar. Selbst bei großen Datenmengen und vielen einzelnen Datensätzen erstellt der Datashader in kurzer Zeit grafische Repräsentationen. Die Ergebnisse haben eine fixe Datengröße, die unabhängig von der Menge der Ausgangsdaten ist. Pipelines lassen sich mit wenigen Zeilen Programmcode erstellen. Der Datashader bietet alle notwendigen Funktionen und Werkzeuge für leistungsstarke Plots. Er kann standalone oder zusammen mit weiteren Libraries und Tools eingesetzt werden. So lassen sich beispielsweise Funktionen wie Achsen, Legenden, interaktives Zoomen oder Mouseover-Effekte in die Visualisierungen einfügen.

Datenanalysten und Datenwissenschaftler erhalten mit dem Datashader ein Tool, das ihnen ein einfaches Arbeiten und das schnelle Erzeugen präziser Visualisierungen ermöglicht. Rechenintensive Prozesse der Pipeline können zur Steigerung der Performance problemlos über mehrere CPUs oder GPUs verteilt werden. Dies erlaubt es, für die verschiedenen Aufgaben relative günstige Standard-Hardware zu verwenden und dennoch extrem große Datenmengen in kurzer Zeit zu prozessieren.

(ID:46732416)

Über den Autor