본문 바로가기

Microsoft Fabric/Fabric 실습 2 - Spark

05. Spark Notebook에서 데이터 시각화

Microsoft Fabric의 Notebook은 사용자 인터페이스에서 몇 가지 기본 차트 기능을 제공하며, 해당 기능이 필요한 기능을 제공하지 않는 경우 많은 Python 그래픽 라이브러리 중 하나를 사용하여 Notebook에서 데이터 시각화를 만들고 표시할 수 있습니다.

 

기본 제공 Notebook 차트 사용

Spark Notebook에서 데이터 프레임을 표시하거나 SQL 쿼리를 실행하면 결과가 코드 셀 아래에 표시됩니다. 

 

코드를 실행한 결과에서 Chart 탭을 클릭하고 View options 아이콘을 클릭하면 다음과 같이 차트를 커스터마이징할 수도 있습니다.

차트 종류는 다음 10가지가 가능합니다. 

  • Bar chart
  • Line chart
  • Column chart
  • Area chart
  • Pie chart
  • Scatter chart
  • Box plot
  • Histogram chart
  • Pivot table
  • Word 클라우드

Key와 Value, Series Group은 코드 실행 결과 데이터 컬럼이 표시됩니다. 

 

Aggregation에는 다음 집계가 가능합니다. 

  • Sum
  • Avg
  • Min
  • Max
  • Count
  • First
  • Last

코드에서 그래픽 패키지 사용

Python은 다양한 패키지를 지원하고 대부분 기본 Matplotlib 라이브러리를 기반으로 합니다. 

다음 PySpark 코드는 제품 데이터를 집계하고 Matplotlib를 사용하여 차트를 만들 수 있습니다.

from matplotlib import pyplot as plt

# Pandas dataframe으로 데이터 가져오기
data = spark.sql("SELECT SubCategory, COUNT(ProductKey) AS ProductCount \
                  FROM products \
                  GROUP BY SubCategory \
                  ORDER BY SubCategory").toPandas()

# plot area Clear하기
plt.clf()

# Figure 생성하기
fig = plt.figure(figsize=(12,8))

# Subcategory별 Product 수를 bar plot으로 생성하기
plt.bar(x=data['SubCategory'], height=data['ProductCount'], color='orange')

# 차트 커스터마이징
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)

# plot area 보기
plt.show()