Подключение к базе данных ClickHouse®
В инфраструктуре Yandex Cloud разворачивать и поддерживать кластеры серверов ClickHouse®
Перед началом работы
- Создайте новый кластер Managed Service for ClickHouse® с публичным доступом для хоста. Вы можете использовать существующий кластер, содержащий хосты в публичном доступе.
- Настройте группы безопасности кластера.
-
Откройте проект DataSphere:
-
Выберите нужный проект в своем сообществе или на главной странице
DataSphere во вкладке Недавние проекты. - Нажмите кнопку Открыть проект в JupyterLab и дождитесь окончания загрузки.
- Откройте вкладку с ноутбуком.
-
Подключиться к хосту
Чтобы подключиться к хостам кластера Managed Service for ClickHouse®:
-
Получите SSL-сертификат. Для этого введите в ячейке ноутбука команду:
#!:bash mkdir ~/.clickhouse-client wget "https://storage.yandexcloud.net/cloud-certs/CA.pem" -O ~/.clickhouse-client/root.crt && \ chmod 0600 ~/.clickhouse-client/root.crt
-
Установите подключение с БД. Для этого введите в ячейке ноутбука команду:
С помощью библиотеки requestsС помощью библиотеки clickhouse-driverimport requests url = 'https://{host}:8443/?database={db}&query={query}'.format( host='<FQDN_хоста_ClickHouse®>', db='<имя_БД>', query='SELECT version()') auth = { 'X-ClickHouse-User': '<имя_пользователя_БД>', 'X-ClickHouse-Key': '<пароль_пользователя_БД>', } cacert = '/home/jupyter/.clickhouse-client/root.crt' rs = requests.get(url, headers=auth, verify=cacert) rs.raise_for_status() print(rs.text)
Если подключиться к кластеру удалось, в ответ на тестовый запрос будет выведена версия ClickHouse®:
22.3.17.13
%pip install clickhouse-driver from clickhouse_driver import Client client = Client(host='<FQDN_хоста_ClickHouse®>', user='<имя_пользователя_БД>', password='<пароль_пользователя_БД>', database='<имя_БД>', secure=True) client.execute('SELECT version()')
Если подключиться к кластеру удалось, в ответ на тестовый запрос будет выведена версия ClickHouse®:
[('22.3.17.13',)]
ClickHouse® является зарегистрированным товарным знаком ClickHouse, Inc