Перейти к основному содержимому
Перейти к основному содержимому

Как выполнять запросы к удаленному серверу ClickHouse

В этом руководстве мы научимся выполнять запросы к удаленному серверу ClickHouse из chDB.

Установка

Сначала создадим виртуальную среду:

Теперь установим chDB. Убедитесь, что у вас версия 2.0.2 или выше:

Теперь мы установим pandas и ipython:

Мы будем использовать ipython для выполнения команд в остальной части руководства, который можно запустить командой:

Вы также можете использовать код в Python-скрипте или в своем любимом ноутбуке.

Введение в ClickPy

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

Вы можете узнать больше о ClickPy в его репозитории GitHub.

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

Импортируем chDB:

Мы будем запрашивать ClickPy с помощью функции remoteSecure. Эта функция принимает как минимум имя хоста, имя таблицы и имя пользователя.

Мы можем написать следующий запрос, чтобы получить количество загрузок в день для пакета openai в виде DataFrame Pandas:

Теперь сделаем то же самое, чтобы получить загрузки для scikit-learn:

Объединение DataFrames Pandas

Теперь у нас есть два DataFrame, которые мы можем объединить на основе даты (которая является колонкой x) следующим образом:

Затем мы можем вычислить отношение загрузок OpenAI к загрузкам scikit-learn следующим образом:

Запрос к DataFrames Pandas

Далее, давайте скажем, что мы хотим найти даты с лучшими и худшими отношениями. Мы можем вернуться к chDB и вычислить эти значения:

Если вы хотите узнать больше о запросах к DataFrames Pandas, смотрите руководство разработчика по DataFrames Pandas.