Перейти к основному содержанию
В этом руководстве мы рассмотрим, как выполнять запросы к удалённому серверу ClickHouse из chDB.

Настройка

Для начала создадим виртуальное окружение:
А теперь установим chDB. Убедитесь, что у вас установлена версия 2.0.2 или выше:
Теперь установим pandas и ipython:
Мы будем использовать ipython для выполнения команд в дальнейшей части этого руководства; его можно запустить, выполнив:
Вы также можете использовать этот код в Python-скрипте или в своем любимом интерактивном блокноте.

Введение в ClickPy

Удалённый сервер ClickHouse, к которому мы будем отправлять запросы, — ClickPy. ClickPy отслеживает все загрузки пакетов PyPI и позволяет изучать статистику по пакетам через интерфейс. К базовой базе данных можно обращаться с запросами, используя пользователя play. Подробнее о ClickPy можно узнать в его репозитории на GitHub.

Запросы к сервису ClickHouse ClickPy

Импортируем chDB:
Мы будем выполнять запрос к ClickPy с помощью функции remoteSecure. Эта функция как минимум принимает имя хоста, имя таблицы и имя пользователя. Мы можем написать следующий запрос, чтобы получить количество загрузок пакета openai по дням в виде DataFrame в Pandas:
Теперь сделаем то же самое, чтобы вывести количество загрузок для scikit-learn:

Слияние DataFrame в Pandas

Теперь у нас есть два DataFrame, которые можно объединить по дате (в столбце x) следующим образом:
Затем мы можем вычислить отношение числа загрузок Open AI к числу загрузок scikit-learn следующим образом:

Выполнение запросов к DataFrame в Pandas

Теперь предположим, что мы хотим найти даты с наилучшим и наихудшим соотношением. Мы можем вернуться к chDB и вычислить эти значения:
Если вы хотите узнать больше о выполнении запросов к DataFrame в Pandas, см. руководство для разработчиков по выполнению запросов к DataFrame в Pandas.