- Python 3.8 или выше
- виртуальное окружение
- рабочий сервис ClickHouse Cloud и ваши сведения о подключении
- Подключаться к ClickHouse Cloud из ноутбуков Marimo с помощью chDB
- Выполнять запросы к удаленным наборам данных и преобразовывать результаты в DataFrame в Pandas
- Визуализировать данные с помощью Plotly в Marimo
- Использовать реактивную модель выполнения Marimo для интерактивного анализа данных
Подготовка
Загрузка набора данных
Data sources, затем — Predefined sample data:
На карточке данных о ценах продажи недвижимости в Великобритании (4 GB) выберите Get started:
Затем нажмите Import dataset:
ClickHouse автоматически создаст таблицу pp_complete в базе данных default и заполнит её 28,92 млн строк с данными о ценах.
Чтобы снизить риск раскрытия учетных данных, рекомендуем сохранить имя пользователя и пароль Cloud в переменных окружения на локальной машине.
Чтобы добавить имя пользователя и пароль в переменные окружения, выполните в терминале следующую команду:
Настройка учетных данных
Указанные выше переменные окружения действуют только в рамках текущего сеанса терминала.
Чтобы сохранить их постоянно, добавьте их в файл конфигурации оболочки.
Установка Marimo
Установка зависимостей
Изучение данных
remoteSecure позволяет легко получать данные из ClickHouse Cloud.
Вы можете указать chDB вернуть эти данные в виде DataFrame Pandas в процессе выполнения — это удобный и привычный способ работы с данными.
Выполнение запросов к данным ClickHouse Cloud
pandas.DataFrame:
chdb.query(query, "DataFrame") выполняет указанный запрос и возвращает результат в виде Pandas DataFrame.
В этом запросе мы используем функцию remoteSecure для подключения к ClickHouse Cloud.
Функция remoteSecure принимает следующие параметры:
- строку подключения
- имя базы данных и таблицы, которые будут использоваться
- ваше имя пользователя
- ваш пароль
remoteSecure подключается к удалённому сервису ClickHouse Cloud, выполняет запрос и возвращает результат.
В зависимости от объёма данных это может занять несколько секунд.
В данном случае мы получаем среднюю цену за год и применяем фильтр town='LONDON'.
Затем результат сохраняется в переменной df как DataFrame.
Визуализация данных
Интерактивный выбор города
Изучение распределения цен с помощью интерактивных диаграмм размаха
Итоги
remoteSecure() и напрямую преобразовывать результаты в DataFrame Pandas для анализа и визуализации.
Благодаря chDB и реактивной модели выполнения Marimo специалисты по анализу данных могут использовать мощные возможности SQL ClickHouse вместе с привычными инструментами Python, такими как Pandas и Plotly, а также интерактивные виджеты и автоматическое отслеживание зависимостей, что делает исследовательский анализ более эффективным и воспроизводимым.