Как выполнять запросы к удаленному серверу 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.