Apache Zeppelin und Jupyter Notebooks auf Azure

16.11.2020

Im Bereich der Datenanalyse und der Datenbearbeitung müssen oftmals aufwendige Abfragen aufgeführt und getestet werden, daher wird im Folgenden Beitrag näher erläutert, wie Rohdaten und strukturierte Daten in Azure gespeichert, aufbereitet und visualisiert werden.

Datenanalysetools die in Azure betrieben werden können

Notebooks sind sehr hilfreich, um schnelle Erkenntnisse aus seinen Daten zu gewinnen und werden daher häufig bei der Datenvorbereitung, Datenvisualisierung, Machine Learning und anderen Big Data-Szenarien verwendet. Im Folgenden werden die Notebooks von Apache Zeppelin und Jupyter betrachtet. Notebooks stellen eine Vielzahl von Interpretern bereit, die es einem ermöglichen, leicht mit bestimmten Datenquellen zu interagieren. So können über kleine Code Snippets Daten explorativ ausgewertet und visualisiert werden. Zeppelin ist hierbei das neueste, der vorgestellten Tools, und zeichnet sich vor allem durch eine große Anzahl an Interpretern und modernen Visualisierungen aus. Dabei können die erstellten Diagramme über Widgets konfiguriert und problemlos mit anderen Nutzern geteilt werden.

Bild wurde nicht geladen

Jupyter ist dagegen schon etwas länger auf dem Markt und bringt daher auch eine größere Community mit. Umso leichter findet man beim Einstieg und bei Problemen hilfreiche Dokumentationen. Auch über Jupyter können Diagramme über Widgets konfiguriert werden, die Benutzeroberfläche und die erstellen Diagramme in Zeppelin wirken jedoch deutlich ansprechender als in Jupyter.

Bild wurde nicht geladen

Umsetzung in Azure

Azure bietet hierbei zwei Services an, die es ermöglichen mit Notebooks von Jupyter als auch Zeppelin zu arbeiten. Zum einen kann man mit Azure HDInsights, Spark Cluster erstellen, in denen sowohl Zeppelin als auch Jupyter Notebooks genutzt werden können.

Spark Cluster in HDInsights erstellen

Zuerst muss eine Ressourcengruppe im Azure Portal erstellt werden, sofern es nicht schon eine passende gibt. Im Marketplace nach HDInsights suchen und die Ressource erstellen. Als nächstes alle Pflichtfelder ausfüllen, und darauf achten, dass die richtige Datenquelle (unter Storage) und die richtigen Knoten und Knotengrößen (unter pricing) ausgewählt wurden.

Zeppelin Notebook Schnellstart

In dem bereits erstellten Cluster hat man jetzt die Möglichkeit ein Zeppelin Notebook zu starten, daraufhin öffnet sich die Zeppelin Benutzeroberfläche. Um Notebooks anzulegen kann man entweder bereits erstellte Dateien hochladen oder eine neue erstellen. Unter „anonymus“ kann man die Liste der verfügbaren Interpreter einsehen und konfigurieren. In unserem Fall erzeugen wir im ersten Paragraphen ein kleines Beispielprogramm, welches Daten aus einer CSV Datei in eine temporäre Tabelle lädt. Und im zweiten Paragraphen, werten wir die Daten über einen „sql“ Interpreter aus. Das erstellte Diagramm kann jetzt noch über Widgets weiter konfiguriert werden.

Jupyter Notebook Schnellstart

Neben dem Zeppelin Notebook hat man auch die Möglichkeit ein  Jupyter Notebook auszuwählen. Auch hier öffnet sich die Benutzeroberfläche von Jupyter und wir erstellen wieder das gleiche Beispielprogramm von eben.

Schnellstart Machine Learning

Als kostengünstigere Alternative lassen sich Jupyter Notebooks in Azure Machine Learning sehr einfach erstellen und ausführen. Um den Service nutzen zu können, muss wieder eine passende Ressourcengruppe erstellt werden. Anschließend im Marketplace nach Machine Learning suchen, „erstellen“ klicken  und abschließend alle Pflichtfelder ausfüllen.

Umgebung einrichten

Zu Beginn, Machine Learning Studio starten und „Notebooks“ auswählen. Hier lassen sich jetzt eigene Notebooks bearbeiten aber auch schon erstellte Notebooks hochladen. Bevor jedoch Code Snippets ausgeführt werden können, muss eine Computer-Instanz angelegt werden (kann einige Minuten dauern). Des Weiteren besteht die Möglichkeit die Notebooks in der Jupyter Oberfläche zu bearbeiten. Unter Datasets können eigene Datensätze aus einer lokalen Datei, oder aus einem Datenspeicher erstellt werden. Klickt man nun auf den bestehenden Datensatz wird einem unter „Nutzen“ vorgeschlagen wie man den Datensatz in einen Dataframe lädt. Dieser Dataframe wird anschließend anhand eines kleinen Code Snippets ausgewertet.

 

Übersicht

Apache Zeppelin in HDInsights

Jupyter in HDInsights

Jupyter in Machine Learning

Benutzeroberfläche

  • Notebook bestehend aus Paragraphen in denen Code Snippets ausgeführt werden können
  • Paragraphen beliebig anordbar
  • Fast identische Oberfläche wie Zeppelin
  • Paraphen können nach unten oder nach oben vertauscht werden
  • Siehe Jupyter HDInsights

Community

  • Kleine aber wachsende Community
  • Große Community
  • Siehe Jupyter HDInsights

Kernels/Interpreter

  • 20+ Interpreter, z.B. Python, JDBC und R
  • 40 verschiedene Sprachen, z.B. Python, R, Julia und Scala
  • Siehe Jupyter HDInsights

Visualisierung

  • Moderne und einfache Visualisierung
  • Diagramme leicht konfigurierbar
  • Einfache Visualisierung
  • Unterstützt Bibliotheken wie plotly oder matplotlib
  • Siehe Jupyter HDInsights

Funktionsumfang in Azure

  • Voll
  • Mögliche Kernels:
    • Pyspark
    • Pyspark3
    • Spark
  • Mögliche Kernels:
    • Python 3
    • R
    • Python 3.6

Verwalteter Dienst

  • ja
  • ja
  • ja

Minimale Preiskonfiguration in Azure

  • zwei Hauptknoten jeweils 16 Cent/H
  • ein Workerknoten 16 Cent/H (16GB RAM, 100 GB Speicher)
  • zwei Hauptknoten jeweils 16 Cent/H
  • ein Workerknoten 16 Cent/H (16GB RAM, 100 GB Speicher)
  • 8 Cent/H (3,5 GB RAM, 50 GB Speicher)
Datenquelle
  • BlobStorage
  • lokal
  • BlobStorage
  • lokal
  • BlobStorage
  • lokal

Empfehlung

Zeppelin bietet neben den normalen Funktionen und Möglichkeiten noch weitere Features, wie LDAP Integrationsfunktionen oder ein Berechtigungsverwaltungssystem. Daher ist das Tool besonders für Unternehmen interessant, die die Nutzung der Notebooks für eine große Anzahl an Nutzern planen, dagegen bietet Jupyter einem eine Reihe von Erweiterungen und bringt eine große Community mit sich. Wenn also Notebooks schnell und einfach eingerichtet und erstellt werden sollen und kein Bedarf besteht, dass mehrere Benutzer gleichzeitig an einem Notebook arbeiten können, dann ist Jupyter die richtige Wahl.

Zurück zur Übersicht

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*Pflichtfelder

*