Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure Synapse — это интегрированная служба аналитики, которая ускоряет анализ данных в хранилищах данных и системах аналитики больших данных. Визуализация данных — это ключевой компонент, который позволяет получить представление о данных. Это помогает упростить понимание больших и небольших данных для людей. Это также упрощает обнаружение шаблонов, тенденций и выбросов в группах данных.
При использовании Apache Spark в Azure Synapse Analytics существуют различные встроенные варианты для визуализации данных, включая параметры диаграммы записной книжки Synapse, доступ к популярным библиотекам с открытым исходным кодом и интеграцию с Synapse SQL и Power BI.
Параметры диаграммы ноутбука
При использовании записной книжки Azure Synapse можно превратить представление табличных результатов в настраиваемую диаграмму с помощью параметров диаграммы. Здесь можно визуализировать данные без необходимости писать код.
Функция display(df)
Эта display функция позволяет превращать SQL-запросы, а также DataFrame и RDD из Apache Spark в интерактивные визуализации данных. Функцию display можно использовать в DataFrame или RDD, созданных в PySpark, Scala, Java, R и .NET.
Чтобы получить доступ к параметрам диаграммы, выполните следующие действия.
Выходные данные магических
%%sqlкоманд отображаются в отображенном представлении таблицы по умолчанию. Вы также можете вызвать функциюdisplay(df)на Spark DataFrames или устойчивых распределенных наборах данных (RDD), чтобы создать отображение таблицы.После отображения представления таблицы перейдите в представление диаграммы.
Теперь вы можете настроить визуализацию, указав следующие значения:
Конфигурация Описание Тип диаграммы Функция displayподдерживает широкий спектр типов диаграмм, включая линейчатые диаграммы, точечную диаграмму, графики и многое другое.Ключ Укажите диапазон значений для оси x Ценность Укажите диапазон значений для значений оси Y Группа серий Используется для определения групп для агрегирования Aggregation Метод агрегирования данных в визуализации Замечание
По умолчанию
display(df)функция будет принимать только первые 1000 строк данных для отрисовки диаграмм. Проверьте агрегирование всех результатов и нажмите кнопку "Применить ", вы примените создание диаграммы из всего набора данных. Задание Spark будет активировано при изменении параметров диаграммы. Обратите внимание, что для выполнения вычисления и отрисовки диаграммы может потребоваться несколько минут.После этого вы можете просматривать и взаимодействовать с окончательной визуализацией!
сведения о статистике display(df)
Можно использовать display(df, summary = true) для проверки сводки статистики заданного кадра данных Apache Spark, включающего имя столбца, тип столбца, уникальные значения и отсутствующие значения для каждого столбца. Вы также можете выбрать конкретный столбец, чтобы увидеть его минимальное, максимальное значение, среднее значение и стандартное отклонение.
опция displayHTML()
Записные книжки Azure Synapse Analytics поддерживают HTML-графику с помощью функции displayHTML.
Следующее изображение является примером создания визуализаций с использованием D3.js.
Выполните следующий код, чтобы создать визуализацию выше.
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
Когда речь идет о визуализации данных, Python предлагает несколько библиотек для создания графиков, которые оснащены множеством различных функций. По умолчанию каждый пул Apache Spark в Azure Synapse Analytics содержит набор курируемых и популярных библиотек с открытым кодом. Вы также можете добавлять и управлять дополнительными библиотеками и версиями с помощью возможностей управления библиотеками Azure Synapse Analytics.
Matplotlib
Вы можете отображать стандартные библиотеки для построения графиков, такие как Matplotlib, используя встроенные функции рендеринга для каждой библиотеки.
Следующее изображение является примером создания столбчатой диаграммы с использованием Matplotlib.
Выполните следующий пример кода, чтобы нарисовать приведенное выше изображение.
# 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()
эффект боке
Вы можете отобразить HTML или интерактивные библиотеки, такие как bokeh, с помощью displayHTML(df).
Следующее изображение демонстрирует пример нанесения глифов на карту с помощью bokeh.
Выполните следующий пример кода, чтобы нарисовать приведенное выше изображение.
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
Вы можете визуализировать HTML или интерактивные библиотеки, такие как Plotly, используя displayHTML().
Выполните следующий пример кода, чтобы нарисовать приведенное ниже изображение.
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)
Панды
Вы можете просмотреть html-вывод датафрейма pandas как выходные данные по умолчанию, и записная книжка автоматически отобразит стилизованное html-содержимое.
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
Дополнительные библиотеки
Помимо этих библиотек, среда выполнения Azure Synapse Analytics также включает следующий набор библиотек, которые часто используются для визуализации данных:
Вы можете ознакомиться с документацией по среде выполнения Azure Synapse Analytics, чтобы получить актуальные сведения о доступных библиотеках и версиях.
Библиотеки R (предварительная версия)
Экосистема R предлагает несколько библиотек графирования, которые упакованы с множеством различных функций. По умолчанию каждый пул Apache Spark в Azure Synapse Analytics содержит набор курируемых и популярных библиотек с открытым кодом. Вы также можете добавлять и управлять дополнительными библиотеками и версиями с помощью возможностей управления библиотеками Azure Synapse Analytics.
ggplot2
Библиотека ggplot2 популярна для визуализации данных и анализа исследуемых данных.
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 — это собственная библиотека графиков R для создания интерактивной графики, поддерживаемой библиотекой визуализации Bokeh.
Чтобы установить rBokeh, можно использовать следующую команду:
install.packages("rbokeh")
После установки можно использовать rBokeh для создания интерактивных визуализаций.
library(rbokeh)
p <- figure() %>%
ly_points(Sepal.Length, Sepal.Width, data = iris,
color = Species, glyph = Species,
hover = list(Sepal.Length, Sepal.Width))
R Plotly
Библиотека графики R от Plotly создает интерактивные графики высокого качества для публикаций.
Чтобы установить Plotly, можно использовать следующую команду:
install.packages("plotly")
После установки вы можете использовать Plotly для создания интерактивных визуализаций.
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 — это оболочка R для библиотеки JavaScript Highcharts и его модулей.
Чтобы установить Highcharter, можно использовать следующую команду:
install.packages("highcharter")
После установки можно использовать Highcharter для создания интерактивных визуализаций.
library(magrittr)
library(highcharter)
hchart(mtcars, "scatter", hcaes(wt, mpg, z = drat, color = hp)) %>%
hc_title(text = "Scatter chart with size and color")
Подключение к Power BI с помощью Apache Spark и SQL по запросу
Azure Synapse Analytics глубоко интегрируется с Power BI, позволяя инженерам данных создавать решения аналитики.
Azure Synapse Analytics позволяет различным вычислительным модулям рабочей области совместно использовать базы данных и таблицы между пулами Spark и бессерверным пулом SQL. Используя модель общих метаданных, вы можете запросить таблицы Apache Spark по запросу с помощью SQL. После этого можно подключить конечную точку SQL по запросу к Power BI, чтобы легко запрашивать синхронизированные таблицы Spark.
Дальнейшие действия
- Для получения дополнительной информации о настройке коннектора Spark SQL DW: коннектор Synapse SQL
- Просмотрите библиотеки по умолчанию: среда выполнения Azure Synapse Analytics