Visualizar os dados com o Spark
Um dos modos mais intuitivos de analisar os resultados das consultas de dados é visualizá-los como gráficos. Os notebooks no Azure Synapse Analytics fornecem alguns recursos básicos de gráfico na interface do usuário e, quando essa funcionalidade não fornece o que você precisa, você pode usar uma das muitas bibliotecas gráficas do Python para criar e exibir visualizações de dados no notebook.
Como usar gráficos de notebook internos
Quando você exibe um dataframe ou executa uma consulta SQL em um notebook Spark no Azure Synapse Analytics, os resultados são exibidos na célula de código. Por padrão, os resultados são renderizados como uma tabela, mas você também pode alterar a exibição de resultados para um gráfico e usar as propriedades do gráfico para personalizar como o gráfico visualiza os dados, conforme mostrado aqui:
A funcionalidade de gráfico interno em notebooks é útil quando você está trabalhando com resultados de uma consulta que não inclui agrupamentos ou agregações existentes e deseja resumir rapidamente os dados visualmente. Quando você quiser ter mais controle sobre como os dados são formatados ou exibir valores que você já agregaram em uma consulta, considere usar um pacote gráfico para criar suas próprias visualizações.
Usando pacotes gráficos no código
Há muitos pacotes gráficos que você pode usar para criar visualizações de dados no código. Em particular, o Python dá suporte a uma grande seleção de pacotes; a maioria deles foi criada na biblioteca Base Matplotlib . A saída de uma biblioteca de gráficos pode ser renderizada em um notebook, facilitando a combinação de código para ingerir e manipular dados com visualizações de dados embutidas e células de markdown para fornecer comentários.
Por exemplo, você pode usar o código PySpark a seguir para agregar dados dos dados de produtos hipotéticos explorados anteriormente neste módulo e usar Matplotlib para criar um gráfico com base nos dados agregados.
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()
A biblioteca Matplotlib requer que os dados estejam em um dataframe do Pandas em vez de um dataframe do Spark, de modo que o método toPandas seja usado para convertê-lo. Em seguida, o código cria uma figura com um tamanho especificado e plota um gráfico de barras com alguma configuração de propriedade personalizada antes de mostrar o gráfico resultante.
O gráfico produzido pelo código seria semelhante à seguinte imagem:
Você pode usar a biblioteca Matplotlib para criar muitos tipos de gráfico; ou, se preferir, você pode usar outras bibliotecas, como o Seaborn , para criar gráficos altamente personalizados.