Простой и безопасный интерфейс для работы с ClickHouse
Project description
ClickHouse Connector Package
Простой и безопасный интерфейс для работы с ClickHouse.
Описание
Пакет предоставляет удобный интерфейс для работы с ClickHouse через различные драйверы. Основной класс ClickhouseManager инкапсулирует всю логику работы с базой данных, включая валидацию, создание таблиц и выполнение запросов.
Установка
Стандартная установка
pip install clickhouse-manager
Установка с дополнительными зависимостями для разработки
pip install clickhouse-manager[dev]
Решение проблем с установкой
Если у вас возникают проблемы с установкой clickhouse-driver, это может быть связано с:
-
Отсутствием компилятора C/C++:
- Windows: Установите Visual Studio Build Tools
- macOS: Установите Xcode Command Line Tools:
xcode-select --install - Linux: Установите build-essential:
sudo apt-get install build-essential
-
Несовместимостью архитектуры:
- Убедитесь, что используете совместимую версию Python
- Попробуйте установить pre-compiled wheel:
pip install --only-binary=all clickhouse-driver
-
Проблемы с зависимостями:
# Обновите pip и setuptools pip install --upgrade pip setuptools wheel # Попробуйте установить зависимости по отдельности pip install pandas clickhouse-connect pip install clickhouse-driver pip install clickhouse-manager
-
Альтернативная установка:
# Установка из исходников pip install --no-binary=clickhouse-driver clickhouse-driver # Или установка через conda (если доступно) conda install -c conda-forge clickhouse-driver
Основные классы
ClickhouseManager
Основной класс для работы с ClickHouse. Управляет подключением, валидацией и выполнением операций.
Методы
__init__(host, port, username, password, database, secure, verify, connector_type)- инициализация с параметрами подключенияquery_to_df(query)- выполнение SELECT запроса с возвратом DataFrameexecute_command(command)- выполнение DDL/DML командcheck_table_if_exists(schema, name)- проверка существования таблицыget_table_column(schema, name)- получение информации о колонках таблицыget_table_info(schema, name)- получение полной информации о таблицеcreate_table(schema, name, columns, order_by, ...)- создание таблицыcreate_table_as_select(query, schema, name, order_by, ...)- создание таблицы на основе SELECTdrop_table(schema, name, cluster, if_exists)- удаление таблицы
IdentifierValidator
Класс для валидации идентификаторов ClickHouse (имена таблиц, схем, колонок).
Методы
validate_identifier(identifier)- проверка валидности идентификатораvalidate_table_name(name)- валидация имени таблицыvalidate_schema_name(name)- валидация имени схемыvalidate_column_name(name)- валидация имени колонкиvalidate_table_params(schema, name)- валидация параметров таблицыvalidate_columns(columns)- валидация словаря колонок
ConnectorFactory
Фабрика для создания коннекторов различных типов.
Методы
create(connector_type, host, port, username, password, database, secure, verify)- создание коннектораget_available_types()- получение списка доступных типов
IClickhouseConnector
Базовый интерфейс для всех коннекторов.
Методы
execute_query(query)- выполнение SELECT запросаexecute_command(command)- выполнение командinsert_dataframe(df, schema, table)- вставка DataFrameget_query_metadata(query)- получение метаданных запроса
Поддерживаемые драйверы
- clickhouse-connect - HTTP/HTTPS подключение
- clickhouse-driver - Native TCP подключение
Тестирование
python3 test_clickhouse.py
Поддержка
Если у вас возникают проблемы с установкой или использованием пакета, создайте issue в репозитории проекта или обратитесь к автору: tiyanich.bogdan@gmail.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file clickhouse_manager-0.1.4.tar.gz.
File metadata
- Download URL: clickhouse_manager-0.1.4.tar.gz
- Upload date:
- Size: 13.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f13cc19c17d7c93df62733179bdf93a101438d9869b2a44c48a22256733aee0
|
|
| MD5 |
bc5485ba53e0cab6496ae75d78693d26
|
|
| BLAKE2b-256 |
594d20d6c29ed5f1e15a00f3fd85309dda9b9805246f483be6094b3ab1875a99
|
File details
Details for the file clickhouse_manager-0.1.4-py3-none-any.whl.
File metadata
- Download URL: clickhouse_manager-0.1.4-py3-none-any.whl
- Upload date:
- Size: 16.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c21707e5bc64742eb7955f792408d262eadcbddade0fbb791ceeee14b4d17d2
|
|
| MD5 |
759ed3ec3be0989a4693b4feaf42b7b4
|
|
| BLAKE2b-256 |
551cdc65cbb51db82e378cc0a51522041a4122e1a605da72500a2828572c61cd
|