Jupyter
Это руководство описывает, как интегрировать ваш cluster Selena с Jupyter, новейшей веб-средой интерактивной разработки для блокнотов, кода и данных.
Всё это стало возможным благодаря JupySQL, который позволяет запускать SQL и строить графики больших наборов данных в Jupyter с помощью магических команд %sql, %%sql и %sqlplot.
Вы можете использовать JupySQL поверх Jupyter для выполнения запросов к Selena.
После загрузки данных в cluster вы можете запрашивать и визуализировать их с помощью 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 уже запущен в блокноте, вы можете просто запустить ячейку ниже для получения зависимостей.
# Установка необходимых пакетов.
%pip install --quiet jupysql sklearn-evaluation pymysql
ПРИМЕЧАНИЕ
Возможно, потребуется перезапустить ядро для использования обновлённых пакетов.
import pandas as pd
from sklearn_evaluation import plot
# Импорт расширен ия JupySQL Jupyter для создания SQL-ячеек.
%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;