Как запрашивать удаленный сервер 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
:
Слияние DataFrame Pandas
Теперь у нас есть два DataFrame, которые мы можем объединить по дате (которая является колонкой x
) следующим образом:
Затем мы можем вычислить отношение загрузок Open AI к загрузкам scikit-learn
следующим образом:
Запросы к DataFrame Pandas
Далее, скажем, что мы хотим найти даты с лучшими и худшими отношениями. Мы можем вернуться к chDB и вычислить эти значения:
Если вы хотите узнать больше о запросах к DataFrame Pandas, смотрите руководство разработчика по DataFrame Pandas.