Gegevens visualiseren
Een van de meest intuïtieve manieren om de resultaten van gegevensquery's te analyseren, is door ze te visualiseren als grafieken. Notebooks in Azure Databricks bieden grafiekmogelijkheden in de gebruikersinterface en wanneer deze functionaliteit niet biedt wat u nodig hebt, kunt u een van de vele Python-grafische bibliotheken gebruiken om gegevensvisualisaties in het notebook te maken en weer te geven.
Ingebouwde notebookgrafieken gebruiken
Wanneer u een dataframe weergeeft of een SQL-query uitvoert in een Spark-notebook in Azure Databricks, worden de resultaten weergegeven onder de codecel. Standaard worden resultaten weergegeven als een tabel, maar u kunt de resultaten ook weergeven als visualisatie en aanpassen hoe de gegevens in de grafiek worden weergegeven, zoals hier wordt weergegeven:
              
              
            
Visualisatietypen
Dit zijn de verschillende soorten visualisaties die u in Databricks kunt maken, elk goed voor bepaalde soorten gegevensinzichten. Belangrijke punten:
Staafdiagrammen/lijndiagrammen/vlakdiagrammen: voor het weergeven van trends in de loop van de tijd, categorische vergelijkingen of beide. Handig om te zien hoe metrische gegevens zich ontwikkelen.
Cirkeldiagrammen: geschikt voor het weergeven van proportionele delen van een geheel (maar niet voor tijdreeksen).
Histogram: om de verdeling van numerieke gegevens te bekijken (hoe waarden worden verdeeld, geclusterd).
Heatmap: handig voor het visualiseren van twee categorische assen en kleuren door een numerieke waarde, helpt patronen in groepen te zien.
Spreidings-/bellendiagrammen: relatie tussen twee (of meer) numerieke variabelen weergeven; bellen maken het gebruik van grootte of kleur als derde dimensie mogelijk.
Boxplot: om distributies (spreiding, kwartielen, uitbijters) over categorieën te vergelijken.
Combinatiegrafiek: combinatie van lijnen en balken in dezelfde grafiek, handig als u verschillende metrische gegevens wilt vergelijken met verschillende schalen.
Draaitabel: hiermee kunt u gegevens in tabelvorm (zoals SQL PIVOT/GROUP BY) hervormen en aggregeren, wat handig is voor kruistabelanalyses.
Speciale typen: cohortanalyse (traceringsgroepen door de tijd heen), tellerweergave (weergeven van een enkele samenvattende metriek, mogelijk ten opzichte van een doel), trechter, kaartvisualisaties (choropleth, markering), woordwolk, enzovoort. Deze zijn meer gespecialiseerd.
De ingebouwde visualisatiefunctionaliteit in notebooks is handig als u de gegevens visueel snel wilt samenvatten. Als u meer controle wilt hebben over de indeling van de gegevens of om waarden weer te geven die u al in een query hebt samengevoegd, kunt u overwegen een grafisch pakket te gebruiken om uw eigen visualisaties te maken.
Grafische pakketten gebruiken in code
Er zijn veel grafische pakketten die u kunt gebruiken om gegevensvisualisaties in code te maken. Python ondersteunt met name een grote selectie pakketten; de meeste zijn gebouwd op basis van de Matplotlib-bibliotheek . De uitvoer van een grafische bibliotheek kan worden weergegeven in een notebook, zodat u eenvoudig code kunt combineren om gegevens op te nemen en te bewerken met inlinegegevensvisualisaties en Markdown-cellen om commentaar te bieden.
U kunt bijvoorbeeld de volgende PySpark-code gebruiken om gegevens van de hypothetische producten die eerder in deze module zijn verkend, samen te voegen en Matplotlib te gebruiken om een grafiek te maken op basis van de geaggregeerde gegevens.
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()
De Matplotlib-bibliotheek vereist dat gegevens zich in een Pandas-gegevensframe bevinden in plaats van een Spark-gegevensframe, dus de toPandas-methode wordt gebruikt om deze te converteren. De code maakt vervolgens een afbeelding met een opgegeven grootte en plot een staafdiagram met een aangepaste eigenschapsconfiguratie voordat de resulterende plot wordt weergegeven.
De grafiek die door de code wordt geproduceerd, ziet er ongeveer als volgt uit:
              
              
            
U kunt de Matplotlib-bibliotheek gebruiken om allerlei soorten grafieken te maken; of, indien gewenst, kunt u andere bibliotheken zoals Seaborn gebruiken om zeer aangepaste grafieken te maken.
Notitie
De Matplotlib- en Seaborn-bibliotheken kunnen al zijn geïnstalleerd op Databricks-clusters, afhankelijk van de Databricks Runtime voor het cluster. Zo niet, of als u een andere bibliotheek wilt gebruiken die nog niet is geïnstalleerd, kunt u deze toevoegen aan het cluster. Zie clusterbibliotheken in de documentatie van Azure Databricks voor meer informatie.