Jupyter
Это руководство описывает, как интегрировать ваш кластер Selena с Jupyter, современной веб-средой интерактивной разработки для блокнотов, кода и данных.
Все это стало возможным благодаря JupySQL, который позволяет выполнять SQL и строить графики больших наборов данных в Jupyter с помощью магических команд %sql, %%sql и %sqlplot.
Вы можете использовать JupySQL поверх Jupyter для выполнения запросов к Selena.
После загрузки данных в кластер вы можете запрашивать и визуализировать их с помощью SQL-графиков.
Предва рительные требования
Перед началом работы у вас должно быть установлено следующее программное обеспечение:
- JupySQL:
pip install jupysql - Jupyterlab:
pip install jupyterlab - SKlearn Evaluation:
pip install sklearn-evaluation - Python
- pymysql:
pip install pymysql
ПРИМЕЧАНИЕ
После выполнения указанных выше требований вы можете открыть Jupyter lab, просто вызвав
jupyterlab- это откроет интерфейс блокнота. Если Jupyter lab уже запущен в блокноте, вы можете просто выполнить ячейку ниже, чтобы получить зависимости.
# Install required packages.
%pip install --quiet jupysql sklearn-evaluation pymysql
ПРИМЕЧАНИЕ
Возможно, потребуется перезапустить ядро для использования обновленных пакетов.
import pandas as pd
from sklearn_evaluation import plot
# Import JupySQL Jupyter extension to create SQL cells.
%load_ext sql
%config SqlMagic.autocommit=False
Вам необходимо убедиться, что ваш экземпляр Selena запущен и доступен для следующих этапов.
ПРИМЕЧАНИЕ
Вам нужно будет настроить строку подключения в соответствии с типом экземпляра, к которому вы пытаетесь подключиться (url, пользователь и пароль). В примере ниже используется локальный экземпляр.
Подключение к Selena через JupySQL
В этом примере используется docker-экземпляр, что отражено в строке подключения.
Пользователь root используется для подключения к локальному экземпляру Selena, создания базы данных и проверки того, что данные действительно можно читать из таблицы и записывать в неё.
%sql mysql+pymysql://root:@localhost:9030
Создайте и используйте эту базу данных JupySQL:
%sql CREATE DATABASE jupysql;
%sql USE jupysql;
Создайте таблицу:
%%sql
CREATE TABLE tbl(c1 int, c2 int) distributed by hash(c1) properties ("replication_num" = "1");
INSERT INTO tbl VALUES (1, 10), (2, 20), (3, 30);
SELECT * FROM tbl;
Сохранение и загрузка запросов
Теперь после создания базы данных вы можете записать в неё некоторые примеры данных и запросить их.
JupySQL позволяет разбивать запросы на несколько ячеек, упрощая процесс создания больших запросов.
Вы можете писать сложные запросы, сохранять их и выполнять при необходимости, аналогично CTE в SQL.
# This is pending for the next JupySQL release.
%%sql --save initialize-table --no-execute
CREATE TABLE tbl(c1 int, c2 int) distributed by hash(c1) properties ("replication_num" = "1");
INSERT INTO tbl VALUES (1, 1), (2, 2), (3, 3);
SELECT * FROM tbl;
ПРИМЕЧАНИЕ
--saveсохраняет запрос, а не данные.
Обратите внимание, что мы используем --with;, это извлечет ранее сохраненные запросы и добавит их в начало (используя CTE). Затем мы сохраняем запрос в track_fav.
Построение графиков непосредственно в Selena
JupySQL поставляется с несколькими графиками п о умолчанию, позволяя визуализировать данные непосредственно в SQL.
Вы можете использовать столбчатую диаграмму для визуализации данных в вашей недавно созданной таблице:
top_artist = %sql SELECT * FROM tbl
top_artist.bar()
Теперь у вас есть новая столбчатая диаграмма без дополнительного кода. Вы можете выполнять SQL непосредственно из вашего блокнота через JupySQL (от ploomber). Это открывает множество возможностей вокруг Selena для специалистов по данным и инженеров. Если вы застряли или нуждаетесь в поддержке, пожалуйста, обратитесь к нам через Slack.