Verileri görselleştirme

Azure Synapse, veri ambarları ve büyük veri analizi sistemlerinde içgörü süresini hızlandıran tümleşik bir analiz hizmetidir. Veri görselleştirme, verileriniz hakkında içgörü elde edebilmenin önemli bir bileşenidir. Büyük ve küçük verilerin insanların anlamasını kolaylaştırmaya yardımcı olur. Ayrıca veri gruplarındaki desenleri, eğilimleri ve aykırı değerleri algılamayı kolaylaştırır.

Azure Synapse Analytics'te Apache Spark kullanırken Synapse not defteri grafiği seçenekleri, popüler açık kaynak kitaplıklarına erişim ve Synapse SQL ve Power BI ile tümleştirme gibi verilerinizi görselleştirmenize yardımcı olacak çeşitli yerleşik seçenekler vardır.

Not defteri grafiği seçenekleri

Azure Synapse not defteri kullanırken, grafik seçeneklerini kullanarak tablosal sonuçlar görünümünüzü özelleştirilmiş bir grafiğe dönüştürebilirsiniz. Burada, herhangi bir kod yazmak zorunda kalmadan verilerinizi görselleştirebilirsiniz.

display(df) işlevi

İşlev, display SQL sorgularını ve Apache Spark veri çerçevelerini ve RDD'leri zengin veri görselleştirmelerine dönüştürmenizi sağlar. display İşlev, PySpark, Scala, Java, R ve .NET'te oluşturulan veri çerçevelerinde veya RDD'lerde kullanılabilir.

Grafik seçeneklerine erişmek için:

  1. Sihirli komutların %%sql çıkışı varsayılan olarak görüntülenen tablo görünümünde görünür. İşlenen tablo görünümünü oluşturmak için Spark DataFrames veya Dayanıklı Dağıtılmış Veri Kümeleri (RDD) işlevini de çağırabilirsiniz display(df) .

  2. İşlenmiş bir tablo görünümünüz olduğunda Grafik Görünümü'ne geçin. yerleşik grafikler

  3. Artık aşağıdaki değerleri belirterek görselleştirmenizi özelleştirebilirsiniz:

    Konfigürasyon Açıklama
    Grafik Türü display işlevi, çubuk grafikler, dağılım grafikleri, çizgi grafikler ve daha fazlası gibi birçok tür grafiği destekler.
    Anahtar x ekseni için değer aralığını belirtin
    Değer Y ekseni değerleri için değer aralığını belirtin
    Seri Grubu Toplama için grupları belirlemek için kullanılır
    Aggregation Görselleştirmenizdeki verileri toplama yöntemi

    Uyarı

    Varsayılan olarak display(df) işlev, grafikleri işlemek için verilerin yalnızca ilk 1000 satırını alır. Tüm sonuçlar üzerinde Toplama'yı denetleyin ve Uygula düğmesine tıklayın; veri kümesinin tamamından grafik oluşturma işlemini uygulayacaksınız. Grafik ayarı değiştiğinde bir Spark işi tetiklenir. Hesaplamanın tamamlanmasının ve grafiğin işlenmesinin birkaç dakika sürebileceğini lütfen unutmayın.

  4. İşiniz bittiğinde, son görselleştirmenizi görüntüleyebilir ve bunlarla etkileşim kurabilirsiniz!

display(df) istatistik ayrıntıları

Her sütun için sütun adını, sütun türünü, benzersiz değerleri ve eksik değerleri içeren belirli bir Apache Spark DataFrame'in istatistik özetini denetlemek için kullanabilirsiniz display(df, summary = true) . Ayrıca, en düşük değerini, maksimum değerini, ortalama değerini ve standart sapması görmek için belirli bir sütunu seçebilirsiniz. yerleşik grafik özeti

displayHTML() seçeneği

Azure Synapse Analytics defterleri, displayHTML işlevi kullanılarak HTML grafiklerini destekler.

Aşağıdaki görüntü, D3.js kullanarak görselleştirme oluşturma örneğidir.

d3-js-example

Yukarıdaki görselleştirmeyi oluşturmak için aşağıdaki kodu çalıştırın.

displayHTML("""<!DOCTYPE html>
<meta charset="utf-8">

<!-- Load d3.js -->
<script src="https://d3js.org/d3.v4.js"></script>

<!-- Create a div where the graph will take place -->
<div id="my_dataviz"></div>
<script>

// set the dimensions and margins of the graph
var margin = {top: 10, right: 30, bottom: 30, left: 40},
  width = 400 - margin.left - margin.right,
  height = 400 - margin.top - margin.bottom;

// append the svg object to the body of the page
var svg = d3.select("#my_dataviz")
.append("svg")
  .attr("width", width + margin.left + margin.right)
  .attr("height", height + margin.top + margin.bottom)
.append("g")
  .attr("transform",
        "translate(" + margin.left + "," + margin.top + ")");

// Create Data
var data = [12,19,11,13,12,22,13,4,15,16,18,19,20,12,11,9]

// Compute summary statistics used for the box:
var data_sorted = data.sort(d3.ascending)
var q1 = d3.quantile(data_sorted, .25)
var median = d3.quantile(data_sorted, .5)
var q3 = d3.quantile(data_sorted, .75)
var interQuantileRange = q3 - q1
var min = q1 - 1.5 * interQuantileRange
var max = q1 + 1.5 * interQuantileRange

// Show the Y scale
var y = d3.scaleLinear()
  .domain([0,24])
  .range([height, 0]);
svg.call(d3.axisLeft(y))

// a few features for the box
var center = 200
var width = 100

// Show the main vertical line
svg
.append("line")
  .attr("x1", center)
  .attr("x2", center)
  .attr("y1", y(min) )
  .attr("y2", y(max) )
  .attr("stroke", "black")

// Show the box
svg
.append("rect")
  .attr("x", center - width/2)
  .attr("y", y(q3) )
  .attr("height", (y(q1)-y(q3)) )
  .attr("width", width )
  .attr("stroke", "black")
  .style("fill", "#69b3a2")

// show median, min and max horizontal lines
svg
.selectAll("toto")
.data([min, median, max])
.enter()
.append("line")
  .attr("x1", center-width/2)
  .attr("x2", center+width/2)
  .attr("y1", function(d){ return(y(d))} )
  .attr("y2", function(d){ return(y(d))} )
  .attr("stroke", "black")
</script>

"""
)

Python Kitaplıkları

Veri görselleştirme söz konusu olduğunda, Python birçok farklı özellik içeren birden çok grafik kitaplığı sunar. Varsayılan olarak, Azure Synapse Analytics'teki her Apache Spark Havuzu bir dizi seçilmiş ve popüler açık kaynak kitaplık içerir. Ayrıca Azure Synapse Analytics kitaplık yönetimi özelliklerini kullanarak ek kitaplıklar ve sürümler ekleyebilir veya yönetebilirsiniz.

Matplotlib

Her kitaplık için yerleşik işleme işlevlerini kullanarak Matplotlib gibi standart çizim kitaplıklarını işleyebilirsiniz.

Aşağıdaki görüntüde Matplotlib kullanarak çubuk grafik oluşturma örneği verilmiştir. Çizgi grafik örneği.

Yukarıdaki görüntüyü çizmek için aşağıdaki örnek kodu çalıştırın.

# Bar chart

import matplotlib.pyplot as plt

x1 = [1, 3, 4, 5, 6, 7, 9]
y1 = [4, 7, 2, 4, 7, 8, 3]

x2 = [2, 4, 6, 8, 10]
y2 = [5, 6, 2, 6, 2]

plt.bar(x1, y1, label="Blue Bar", color='b')
plt.bar(x2, y2, label="Green Bar", color='g')
plt.plot()

plt.xlabel("bar number")
plt.ylabel("bar height")
plt.title("Bar Chart Example")
plt.legend()
plt.show()

Bokeh (fotoğrafta bulanık arka plan efekti)

HTML veya bokeh gibi etkileşimli kütüphaneleri displayHTML(df) kullanarak işleyebilirsiniz.

Aşağıdaki görüntüde bokeh kullanarak harita üzerinde glif çizme örneği verilmiştir.

bokeh-example

Yukarıdaki görüntüyü çizmek için aşağıdaki örnek kodu çalıştırın.

from bokeh.plotting import figure, output_file
from bokeh.tile_providers import get_provider, Vendors
from bokeh.embed import file_html
from bokeh.resources import CDN
from bokeh.models import ColumnDataSource

tile_provider = get_provider(Vendors.CARTODBPOSITRON)

# range bounds supplied in web mercator coordinates
p = figure(x_range=(-9000000,-8000000), y_range=(4000000,5000000),
           x_axis_type="mercator", y_axis_type="mercator")
p.add_tile(tile_provider)

# plot datapoints on the map
source = ColumnDataSource(
    data=dict(x=[ -8800000, -8500000 , -8800000],
              y=[4200000, 4500000, 4900000])
)

p.circle(x="x", y="y", size=15, fill_color="blue", fill_alpha=0.8, source=source)

# create an html document that embeds the Bokeh plot
html = file_html(p, CDN, "my plot1")

# display this html
displayHTML(html)

Plotly

displayHTML() kullanarak Plotly gibi HTML veya etkileşimli kitaplıkları işleyebilirsiniz.

Aşağıdaki örnek kodu çalıştırarak aşağıdaki görüntüyü çizin.

plotly-example

from urllib.request import urlopen
import json
with urlopen('https://raw.githubusercontent.com/plotly/datasets/master/geojson-counties-fips.json') as response:
    counties = json.load(response)

import pandas as pd
df = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/fips-unemp-16.csv",
                   dtype={"fips": str})

import plotly
import plotly.express as px

fig = px.choropleth(df, geojson=counties, locations='fips', color='unemp',
                           color_continuous_scale="Viridis",
                           range_color=(0, 12),
                           scope="usa",
                           labels={'unemp':'unemployment rate'}
                          )
fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0})

# create an html document that embeds the Plotly plot
h = plotly.offline.plot(fig, output_type='div')

# display this html
displayHTML(h)

Pandas

Pandas veri çerçevesinin html çıkışını varsayılan çıkış olarak görüntüleyebilirsiniz; not defteri stillenmiş html içeriğini otomatik olarak gösterir.

Panda grafı örneği.

import pandas as pd 
import numpy as np 

df = pd.DataFrame([[38.0, 2.0, 18.0, 22.0, 21, np.nan],[19, 439, 6, 452, 226,232]], 

                  index=pd.Index(['Tumour (Positive)', 'Non-Tumour (Negative)'], name='Actual Label:'), 

                  columns=pd.MultiIndex.from_product([['Decision Tree', 'Regression', 'Random'],['Tumour', 'Non-Tumour']], names=['Model:', 'Predicted:'])) 

df 

Ek kitaplıklar

Bu kitaplıkların ötesinde, Azure Synapse Analytics Çalışma Zamanı genellikle veri görselleştirmesi için kullanılan aşağıdaki kitaplık kümesini de içerir:

Kullanılabilir kitaplıklar ve sürümler hakkında en güncel bilgiler için Azure Synapse Analytics Çalışma Zamanı belgelerini ziyaret edebilirsiniz.

R Kitaplıkları (Önizleme)

R ekosistemi, birçok farklı özellik içeren birden çok grafik kitaplığı sunar. Varsayılan olarak, Azure Synapse Analytics'teki her Apache Spark Havuzu bir dizi seçilmiş ve popüler açık kaynak kitaplık içerir. Ayrıca Azure Synapse Analytics kitaplık yönetimi özelliklerini kullanarak ek kitaplıklar ve sürümler ekleyebilir veya yönetebilirsiniz.

ggplot2

ggplot2 kitaplığı, veri görselleştirme ve keşif veri analizi için popülerdir.

ggplot2 grafik örneğinin ekran görüntüsü.

library(ggplot2)
data(mpg, package="ggplot2") 
theme_set(theme_bw()) 

g <- ggplot(mpg, aes(cty, hwy))

# Scatterplot
g + geom_point() + 
  geom_smooth(method="lm", se=F) +
  labs(subtitle="mpg: city vs highway mileage", 
       y="hwy", 
       x="cty", 
       title="Scatterplot with overlapping points", 
       caption="Source: midwest")

rBokeh

rBokeh , Bokeh görselleştirme kitaplığı tarafından yedeklenen etkileşimli grafikler oluşturmaya yönelik yerel bir R çizim kitaplığıdır.

rBokeh'i yüklemek için aşağıdaki komutu kullanabilirsiniz:

install.packages("rbokeh")

Yüklendikten sonra etkileşimli görselleştirmeler oluşturmak için rBokeh'i kullanabilirsiniz.

rBokeh grafiği örneğinin ekran görüntüsü.

library(rbokeh)
p <- figure() %>%
  ly_points(Sepal.Length, Sepal.Width, data = iris,
    color = Species, glyph = Species,
    hover = list(Sepal.Length, Sepal.Width))

R Plotly

Plotly'nin R graf kitaplığı etkileşimli, yayın kalitesinde grafikler oluşturur.

Plotly'yi yüklemek için aşağıdaki komutu kullanabilirsiniz:

install.packages("plotly")

Yüklendikten sonra Etkileşimli görselleştirmeler oluşturmak için Plotly'i kullanabilirsiniz.

Plotly grafiği örneğinin ekran görüntüsü.

library(plotly) 

fig <- plot_ly() %>% 
  add_lines(x = c("a","b","c"), y = c(1,3,2))%>% 
  layout(title="sample figure", xaxis = list(title = 'x'), yaxis = list(title = 'y'), plot_bgcolor = "#c7daec") 

fig

Highcharter

Highcharter, Highcharts JavaScript kitaplığı ve modülleri için bir R sarmalayıcıdır.

Highcharter'ı yüklemek için aşağıdaki komutu kullanabilirsiniz:

install.packages("highcharter")

Yüklendikten sonra Etkileşimli görselleştirmeler oluşturmak için Highcharter'ı kullanabilirsiniz.

Highcharter grafik örneğinin ekran görüntüsü.

library(magrittr)
library(highcharter)
hchart(mtcars, "scatter", hcaes(wt, mpg, z = drat, color = hp)) %>%
  hc_title(text = "Scatter chart with size and color")

Apache Spark ve İsteğe Bağlı SQL kullanarak Power BI'a bağlanma

Azure Synapse Analytics, Power BI ile tümleştirerek veri mühendislerinin analiz çözümleri oluşturmasına olanak sağlar.

Azure Synapse Analytics, farklı çalışma alanı hesaplama altyapılarının Spark havuzları ile sunucusuz SQL havuzu arasında veritabanlarını ve tabloları paylaşmasına olanak tanır. Paylaşılan meta veri modelini kullanarak isteğe bağlı SQL kullanarak Apache Spark tablolarınızı sorgulayabilirsiniz. İşiniz bittiğinde, eşitlenmiş Spark tablolarınızı kolayca sorgulamak için isteğe bağlı SQL uç noktanızı Power BI'a bağlayabilirsiniz.

Sonraki Adımlar