Spark ノートブックでデータを視覚化する

完了

データ クエリの結果を分析する最も直感的な方法の 1 つは、それらをグラフとして視覚化することです。 Microsoft Fabric のノートブックは、ユーザー インターフェイスに基本的なグラフ作成機能を備えています。この機能がニーズを満たしていない場合は、数ある Python グラフィック ライブラリの 1 つを使用して、ノートブックにデータ視覚化を作成して表示することができます。

組み込みのノートブック グラフの使用

Spark ノートブックでデータフレームを表示したり SQL クエリを実行したりすると、その結果がコード セルの下に表示されます。 既定では、結果はテーブルとしてレンダリングされますが、次に示すように、結果ビューをグラフに変更し、グラフのプロパティを使用してグラフのデータを視覚化する方法をカスタマイズすることもできます。

Screenshot of notebook chart of product counts by category.

ノートブックに組み込まれているグラフ作成機能は、データを視覚的にすばやく集計したい場合に便利です。 データの書式設定方法をより詳細に制御する場合は、グラフィックス パッケージを使用して独自の視覚化を作成することを検討する必要があります。

コードでのグラフィックス パッケージの使用

コードでデータ視覚化を作成するために使用できるグラフィックス パッケージは数多くあります。 特に、Python では多くのパッケージがサポートされています。それらのほとんどは、ベースの Matplotlib ライブラリ上に構築されています。 グラフィックス ライブラリからの出力をノートブックにレンダリングできるため、コードを組み合わせて、インライン データ視覚化とマークダウン セルを使用してデータを取り込んで操作し、コメントを提供できます。

たとえば、次の 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 ライブラリでは、データを Spark データフレームではなく Pandas データフレームに格納する必要があるため、toPandas メソッドを使用して変換します。 次に、コードによって、指定したサイズの図形が作成され、カスタム プロパティ構成で横棒グラフがプロットされてから、結果がプロットされます。

コードによって生成されるグラフは、次の図のようになります。

Screenshot of a bar chart showing product counts by category.

Matplotlib ライブラリを使用して、さまざまな種類のグラフを作成できます。または、必要に応じて、Seaborn などの他のライブラリを使用して、高度にカスタマイズされたグラフを作成することもできます。