Wizualizowanie danych
Jednym z najbardziej intuicyjnych sposobów analizowania wyników zapytań dotyczących danych jest wizualizowanie ich jako wykresów. Notesy w usłudze Azure Databricks zapewniają funkcje tworzenia wykresów w interfejsie użytkownika, a gdy ta funkcja nie zapewnia potrzebnych elementów, możesz użyć jednej z wielu bibliotek graficznych języka Python do tworzenia i wyświetlania wizualizacji danych w notesie.
Korzystanie z wbudowanych wykresów notatników
Po wyświetleniu ramki danych lub uruchomieniu zapytania SQL w notesie platformy Spark w usłudze Azure Databricks, wyniki są wyświetlane pod komórką kodu. Domyślnie wyniki są renderowane jako tabela, ale można również wyświetlać wyniki jako wizualizację i dostosowywać sposób wyświetlania danych na wykresie, jak pokazano poniżej:
Typy wizualizacji
Są to różne rodzaje wizualizacji, które można tworzyć w usłudze Databricks, z których każdy jest dobry dla niektórych rodzajów szczegółowych informacji o danych. Najważniejsze kwestie:
Wykresy słupkowe / wykresy liniowe / wykresy warstwowe: do pokazywania trendów w czasie, porównań kategorii lub obu tych elementów. Przydatne do sprawdzenia, jak zmieniają się metryki.
Wykresy kołowe: dobre do pokazywania proporcjonalnych części całości (ale nie nadają się do szeregów czasowych).
Histogram: aby wyświetlić rozkład danych liczbowych (jak są rozłożone wartości, klastrowane).
Mapa cieplna: przydatna do wizualizacji dwóch osi kategorii i kolorowania według wartości liczbowej, pomaga wyświetlać wzorce między grupami.
Wykresy punktowe/bąbelkowe: pokaż relację między dwiema (lub więcej) zmiennymi liczbowymi; bąbelki umożliwiają używanie rozmiaru lub koloru jako trzeciego wymiaru.
Wykres skrzynkowy: do porównania rozkładów (rozstęp, kwartyle, wartości odstające) między kategoriami.
Wykres kombi: kombinacja linii i słupków na tym samym wykresie, gdzie chcesz porównać różne metryki z różnymi skalami.
Tabela przestawna: umożliwia przekształcanie i agregowanie danych w postaci tabeli (na przykład SQL PIVOT/GROUP BY), pomocne w analizach krzyżowych.
Typy specjalne: analiza kohort (śledzenie grup w czasie), wyświetlanie licznika (podkreślanie pojedynczej metryki podsumowania, być może w odniesieniu do celu), lejek, wizualizacje mapy (kartogram, marker), chmura słów itp. Są to bardziej wyspecjalizowane typy.
Wbudowana funkcja wizualizacji w notesach jest przydatna, gdy chcesz szybko podsumować dane wizualnie. Jeśli chcesz mieć większą kontrolę nad sposobem formatowania danych lub wyświetlić wartości, które zostały już zagregowane w zapytaniu, należy rozważyć użycie pakietu graficznego do utworzenia własnych wizualizacji.
Używanie pakietów graficznych w kodzie
Istnieje wiele pakietów graficznych, których można użyć do tworzenia wizualizacji danych w kodzie. W szczególności język Python obsługuje duży wybór pakietów; większość z nich oparta na podstawowej bibliotece Matplotlib . Wynik z biblioteki grafiki można renderować w notatniku, co ułatwia łączenie kodu do pozyskiwania i manipulacji danymi z wizualizacjami danych w linii oraz komórkami markdown do dodawania komentarzy.
Na przykład można użyć następującego kodu PySpark, aby agregować dane z hipotetycznych danych produktów eksplorowanych wcześniej w tym module i użyć biblioteki Matplotlib do utworzenia wykresu na podstawie zagregowanych danych.
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()
Biblioteka Matplotlib wymaga, aby dane były w ramce danych biblioteki Pandas, a nie w ramce danych platformy Spark, więc metoda toPandas jest używana do jej konwersji. Następnie program rysuje rysunek o określonym rozmiarze i wykreśla wykres słupkowy z niestandardową konfiguracją właściwości przed wyświetleniem wynikowego wykresu.
Wykres utworzony przez kod będzie wyglądać podobnie do poniższego obrazu:
Możesz użyć biblioteki Matplotlib, aby utworzyć wiele rodzajów wykresu; lub jeśli jest to preferowane, możesz użyć innych bibliotek, takich jak Seaborn , aby utworzyć wysoce dostosowane wykresy.
Uwaga
Na klastrach usługi Databricks mogą być już zainstalowane biblioteki Matplotlib i Seaborn, w zależności od Databricks Runtime danego klastra. Jeśli nie, lub jeśli chcesz użyć innej biblioteki, która nie jest jeszcze zainstalowana, możesz dodać ją do klastra. Aby uzyskać szczegółowe informacje, zobacz Biblioteki klastrów w dokumentacji usługi Azure Databricks.