Как выполнять запросы к удалённому серверу ClickHouse
В этом руководстве мы рассмотрим, как выполнять запросы к удалённому серверу ClickHouse из chDB.
Настройка
Сначала создадим виртуальное окружение:
Теперь установим chDB. Убедитесь, что у вас установлена версия 2.0.2 или выше:
Теперь установим pandas и ipython:
Мы будем использовать ipython для выполнения команд далее в этом руководстве. Для его запуска выполните:
Вы также можете использовать этот код в Python-скрипте или в вашем любимом ноутбуке (например, Jupyter Notebook).
Введение в ClickPy
Удалённый сервер ClickHouse, к которому мы будем выполнять запросы, — это ClickPy.
ClickPy отслеживает все загрузки пакетов PyPI и позволяет исследовать статистику по пакетам через пользовательский интерфейс.
Лежащая в основе база данных доступна для запросов с использованием пользователя play.
Подробнее о ClickPy вы можете узнать в его репозитории на GitHub.
Выполнение запросов к сервису ClickPy ClickHouse
Давайте импортируем chDB:
Мы будем выполнять запрос к ClickPy с помощью функции remoteSecure.
Минимальный набор аргументов этой функции — имя хоста, имя таблицы и имя пользователя.
Мы можем написать следующий запрос, чтобы получить количество ежедневных загрузок пакета openai в виде объекта Pandas DataFrame:
Теперь проделаем то же самое, чтобы получить данные о загрузках для scikit-learn:
Объединение датафреймов в pandas
Теперь у нас есть два датафрейма, которые мы можем объединить по дате (это столбец x) следующим образом:
Затем мы можем вычислить отношение количества загрузок OpenAI к количеству загрузок scikit-learn следующим образом:
Выполнение запросов к фреймам данных Pandas
Далее предположим, что мы хотим найти даты с наилучшим и наихудшим отношением. Мы можем вернуться к chDB и вычислить эти значения:
Если вы хотите узнать больше о выполнении запросов к объектам DataFrame в Pandas, см. руководство разработчика по работе с Pandas DataFrame.