Работа с ноутбуками
Содержание
Ноутбук в SubQuery — это рабочее пространство, где можно последовательно работать с данными: выполнять SQL-запросы, обрабатывать результаты с помощью Python и DuckDB, строить визуализации и дополнять анализ пояснениями в Markdown.
Код, промежуточные результаты и выводы сохраняются в одном месте, поэтому к исследованию можно вернуться позже и продолжить работу с того же места.
Создание ноутбука
Перейдите в раздел SQL Ноутбуки и нажмите Создать.
На странице со списком ноутбуков отображаются:
- название;
- описание;
- автор;
- дата последнего изменения.
Для поиска нужного ноутбука используйте строку поиска и фильтры.
Название ноутбука можно изменить после создания.
Интерфейс ноутбука
Рабочая область состоит из:
- основной области с ячейками;
- панели Схема БД;
- панели Файлы;
- панели управления выполнением.
В панели Схема БД можно просматривать доступные подключения и структуру источников данных.
В панели Файлы отображаются файлы, добавленные в ноутбук или созданные во время выполнения Python-кода.
Как это работает
- Ноутбук состоит из ячеек, которые можно выполнять последовательно.
- Доступны четыре типа ячеек:
- Python — обработка данных, расчеты и визуализация;
- SQL — запросы к Озеру SubQuery и подключенным СУБД;
- DuckDB — локальные SQL-операции в браузерной WASM-сессии;
- Markdown — заголовки, описание анализа и выводы.
- Состояние между исполняемыми ячейками сохраняется: переменные, импортированные модули и загруженные пакеты доступны в следующих шагах.
- Последнее выражение ячейки отображается автоматически, а
print(...)и ошибки попадают в текстовый вывод. - Подробнее о SQL- и DuckDB-ячейках, выборе подключения и выполнении запросов из Python через
sq.queryчитайте в разделе Работа с СУБД.
Работа с ячейками
Ячейки можно комбинировать и располагать в нужной последовательности в зависимости от логики анализа.
Для выбранной ячейки доступны основные действия:
- запустить ячейку;
- добавить новую;
- переместить выше или ниже;
- удалить.
Схема БД
В боковой панели Схема БД отображаются доступные подключения и структура источников данных.
Схему можно раскрывать и просматривать доступные каталоги и схемы, не выходя из ноутбука.
При работе с SQL-ячейкой подключение к СУБД выбирается непосредственно в ячейке. Подробнее о запросах к источникам данных — в разделе Работа с СУБД.
Работа с файлами
Локальные файлы можно добавить через панель Файлы или перетащить непосредственно в ноутбук.
После загрузки их можно использовать из Python или DuckDB и комбинировать с данными из подключенных СУБД.
Подробнее — в разделе Работа с файлами.
Важная особенность: WASM-сессия в браузере
Python и DuckDB-ячейки работают в WASM-рантайме браузера.
Это означает:
- выполнение кода происходит на вашем компьютере, кроме запросов к СУБД;
- сессия ограничена текущей вкладкой браузера;
- при перезагрузке страницы или закрытии вкладки состояние kernel-сессии сбрасывается;
- выполнение первой ячейки в сессии может занять больше времени из-за запуска WASM, последующие выполняются быстрее.
Автосохранение
В ноутбуках автоматически сохраняются:
- контент ячеек;
- тип ячейки;
- выбранное подключение;
- результаты выполнения.
После возвращения в ноутбук доступны не только код и структура анализа, но и последние сохраненные результаты.
При этом состояние Python- и DuckDB-сессии после закрытия или перезагрузки вкладки необходимо создать заново.
Результаты выполнения
В зависимости от кода результат ячейки может отображаться как:
- текст;
- таблица;
- изображение;
- график.
SQL-запросы отображают табличный результат непосредственно под соответствующей ячейкой.
Python можно использовать для построения графиков с помощью доступных библиотек.
Публичные ноутбуки
В разделе ноутбуков две вкладки: Мои — ваши ноутбуки, Публичные — коллекция готовых примеров с кодом и уже выполненными результатами ячеек.
Публичные ноутбуки удобно использовать как отправную точку:
- сначала посмотрите, что получится на выходе, — результаты ячеек уже выполнены;
- скопируйте пример в свой проект одной кнопкой;
- дальше работайте с копией уже на своих данных.
Например, демо-ноутбук с обучением ML-модели можно скопировать по прямой ссылке:
Скопировать публичный ноутбук с ML-моделью
Коллекцию пополняет команда SubQuery. Если есть идея полезного примера — поделитесь ей в чате SubQuery.
Куда идти дальше
- Работа с СУБД — SQL-запросы,
sq.query, выбор подключения и DuckDB. - Работа с файлами — загрузка локальных файлов и работа с ними из Python и DuckDB.
- Установка библиотек —
sq.installи доступные Python-пакеты.