Visualisieren von Daten mit Spark

Abgeschlossen

Eine der intuitivsten Möglichkeiten, die Ergebnisse von Abfragen zu analysieren, ist die Visualisierung in Diagrammen. Notebooks in Azure Synapse Analytics bieten einige grundlegende Diagrammfunktionen auf der Benutzeroberfläche. Wenn diese Funktionalität nicht ausreicht, können Sie eine der vielen Python-Grafikbibliotheken verwenden, um Datenvisualisierungen im Notebook zu erstellen und anzuzeigen.

Verwenden integrierter Notebookdiagramme

Wenn Sie einen Dataframe anzeigen oder eine SQL-Abfrage in einem Spark-Notebook in Azure Synapse Analytics ausführen, werden die Ergebnisse unter der Codezelle angezeigt. Standardmäßig werden die Ergebnisse als Tabelle dargestellt, aber Sie können die Ergebnisansicht auch in ein Diagramm ändern und die Diagrammeigenschaften verwenden, um die Darstellung der Daten im Diagramm anzupassen, wie hier gezeigt:

A notebook displaying a column chart of product counts by category.

Die integrierte Diagrammfunktion in Notebooks ist nützlich, wenn Sie mit Ergebnissen einer Abfrage arbeiten, die keine vorhandenen Gruppierungen oder Aggregationen enthalten, und Sie die Daten schnell visuell zusammenfassen möchten. Wenn Sie mehr Kontrolle über die Formatierung der Daten haben oder Werte anzeigen möchten, die Sie bereits in einer Abfrage aggregiert haben, sollten Sie ein Grafikpaket verwenden, um Ihre eigenen Visualisierungen zu erstellen.

Verwenden von Grafikpaketen im Code

Es gibt viele Grafikpakete, mit denen Sie Datenvisualisierungen im Code erstellen können. Insbesondere unterstützt Python eine große Auswahl an Paketen, von denen die meisten auf der Basisbibliothek Matplotlib basieren. Die Ausgabe einer Grafikbibliothek kann in einem Notebook gerendert werden, sodass es einfach ist, Code zur Erfassung und Bearbeitung von Daten mit Inline-Datenvisualisierungen und Markdownzellen für Kommentare zu kombinieren.

Sie könnten z. B. den folgenden PySpark-Code verwenden, um Daten aus den hypothetischen Produktdaten zu aggregieren, die zuvor in diesem Modul untersucht wurden, und Matplotlib verwenden, um ein Diagramm aus den aggregierten Daten zu erstellen.

from matplotlib import pyplot as plt

# Get the data as a Pandas dataframe
data = spark.sql("SELECT Category, COUNT(ProductID) AS ProductCount \
                  FROM products \
                  GROUP BY Category \
                  ORDER BY Category").toPandas()

# Clear the plot area
plt.clf()

# Create a Figure
fig = plt.figure(figsize=(12,8))

# Create a bar plot of product counts by category
plt.bar(x=data['Category'], height=data['ProductCount'], color='orange')

# Customize the chart
plt.title('Product Counts by Category')
plt.xlabel('Category')
plt.ylabel('Products')
plt.grid(color='#95a5a6', linestyle='--', linewidth=2, axis='y', alpha=0.7)
plt.xticks(rotation=70)

# Show the plot area
plt.show()

Die Matplotlib-Bibliothek erfordert, dass die Daten in einem Pandas- und nicht in einem Spark-Dataframe vorliegen, sodass die toPandas-Methode verwendet wird, um sie zu konvertieren. Der Code erstellt dann eine Abbildung mit einer bestimmten Größe und zeichnet ein Balkendiagramm mit einer benutzerdefinierten Eigenschaftskonfiguration, bevor er den resultierenden Plot anzeigt.

Das durch den Code erzeugte Diagramm würde ähnlich wie die folgende Abbildung aussehen:

A bar chart showing product counts by category.

Sie können die Matplotlib-Bibliothek verwenden, um viele Arten von Diagrammen zu erstellen. Wenn Sie es vorziehen, können Sie auch andere Bibliotheken wie Seaborn verwenden, um sehr individuelle Diagramme zu erstellen.