將 Spark 筆記本中的資料視覺化
分析資料查詢結果最直覺的方式之一,就是以圖表形式視覺化。 Microsoft Fabric 包含 Power BI,這是一種豐富的資料視覺效果技術,您可用來建立報表和儀表板以支援商務分析。 不過,在某些資料探索和分析案例中,您可能會想要在筆記本中視覺化資料。 這就是我們將在本單元中探討的案例。
Microsoft Fabric 中的筆記本在使用者介面中提供一些基本圖表製作功能,如果這項功能無法提供您需要的內容,您可以使用任何一個 Python 圖形庫,在筆記本中建立及顯示資料視覺效果。
使用內建筆記本圖表
在 Spark 筆記本中顯示資料框架或執行 SQL 查詢時,結果會顯示在程式碼儲存格底下。 根據預設,結果會轉譯為資料表,但您也可以將結果檢視變更為圖表,並使用圖表屬性來自訂圖表將資料視覺化的方式,如下所示:
當您想要以視覺化方式快速摘要資料時,筆記本中的內建圖表製作功能會很有用。 當您想要充分掌控設定資料格式的方式時,應考慮使用圖形套件來建立自己專屬的視覺效果。
在程式碼中使用圖形套件
有許多圖形套件可用來在程式碼中建立資料視覺效果。 特別是 Python 支援大量套件選項;大部分都是以基底 Matplotlib 程式庫為基礎。 圖形庫的輸出可以在筆記本中轉譯,方便結合用於擷取和操作資料的程式碼與內嵌資料視覺效果和 Markdown 資料格,以提供註解。
例如,您可以使用下列 PySpark 程式碼,從先前在本課程模組中探索的假設產品資料彙總資料,並使用 Matplotlib 從彙總的資料建立圖表。
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()
Matplotlib 程式庫要求資料使用 Pandas 資料框架而非 Spark 資料框架,因此 toPandas 方法可用來轉換資料框架。 接著程式碼會建立具有指定大小的圖表,並用一些自訂屬性設定繪製橫條圖,再顯示繪圖結果。
程式碼所產生的圖表看起來會類似下圖:
您可以使用 Matplotlib 程式庫來建立多種圖表;或者也可依偏好使用其他程式庫 (例如 Seaborn) 來建立高度自訂的圖表。