Vizualizace dat pomocí Sparku

Dokončeno

Jedním z nejtuitivnějších způsobů, jak analyzovat výsledky datových dotazů, je vizualizovat je jako grafy. Poznámkové bloky ve službě Azure Synapse Analytics poskytují některé základní funkce grafů v uživatelském rozhraní a pokud tyto funkce neposkytují to, co potřebujete, můžete v poznámkovém bloku vytvářet a zobrazovat vizualizace dat pomocí některé z mnoha grafických knihoven Pythonu.

Použití předdefinovaných grafů poznámkových bloků

Když v poznámkovém bloku Sparku v Azure Synapse Analytics zobrazíte datový rámec nebo spustíte dotaz SQL, zobrazí se výsledky v buňce kódu. Ve výchozím nastavení se výsledky vykreslují jako tabulka, ale můžete také změnit zobrazení výsledků na graf a pomocí vlastností grafu přizpůsobit, jak graf vizualizuje data, jak je znázorněno tady:

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

Integrované funkce grafů v poznámkových blocích jsou užitečné, když pracujete s výsledky dotazu, který neobsahuje žádné existující seskupení nebo agregace, a chcete data vizuálně shrnout. Pokud chcete mít větší kontrolu nad formátováním dat nebo zobrazením hodnot, které jste už v dotazu agregovali, měli byste zvážit použití grafického balíčku k vytvoření vlastních vizualizací.

Použití grafických balíčků v kódu

Existuje mnoho grafických balíčků, které můžete použít k vytváření vizualizací dat v kódu. Python zejména podporuje velký výběr balíčků; většina z nich je postavena na základní knihovně Matplotlib . Výstup z grafické knihovny je možné vykreslit v poznámkovém bloku, což usnadňuje kombinování kódu pro příjem a manipulaci s daty pomocí vložených vizualizací dat a buněk markdownu pro poskytnutí komentáře.

Pomocí následujícího kódu PySpark můžete například agregovat data z hypotetických dat produktů, která jste prozkoumali dříve v tomto modulu, a použít Matplotlib k vytvoření grafu z agregovaných dat.

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()

Knihovna Matplotlib vyžaduje, aby data byla v datovém rámci Pandas, nikoli v datovém rámci Sparku, takže metoda toPandas se používá k převodu. Kód pak vytvoří obrázek se zadanou velikostí a před zobrazením výsledného grafu vykreslí pruhový graf s konfigurací vlastní vlastnosti.

Graf vytvořený kódem by vypadal podobně jako na následujícím obrázku:

A bar chart showing product counts by category.

Knihovnu Matplotlib můžete použít k vytvoření mnoha druhů grafů; nebo pokud chcete, můžete k vytváření vysoce přizpůsobených grafů použít jiné knihovny, jako je Seaborn .