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

Как выполнить запрос к удаленному серверу 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) следующим образом:

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

Запрос к DataFrames Pandas

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

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