DBHoseDumpParams

class DBHoseDumpParams

Перечисление параметров для инициализации DBHoseDump.

Наследуется от DBHoseObject и Enum.

Добавлено в версии 0.1.0.

Назначение:

Определяет конфигурации для работы с различными типами СУБД и протоколов. Каждый элемент содержит специфичные настройки для конкретной цели (ClickHouse, PostgreSQL, Greenplum, FTP, HTTP).

Атрибуты DBHoseObject

Каждый элемент перечисления содержит следующие атрибуты:

name: str

Человеко-читаемое имя цели.

connection: CHConnector | PGConnector

Класс коннектора для подключения к цели. CHConnector для ClickHouse, PGConnector для PostgreSQL/Greenplum.

dumper: NativeDumper | PGPackDumper

Класс дампера для сериализации данных. NativeDumper для ClickHouse формата, PGPackDumper для PostgreSQL.

Методы

static from_airflow(connection, compress_method=CompressionMethod.ZSTD, timeout=DBMS_DEFAULT_TIMEOUT_SEC)

Инициализирует дампер из объекта Airflow Connection.

Параметры:

  • connection (Connection) - объект соединения Airflow

  • compress_method (CompressionMethod) - метод сжатия (по умолчанию ZSTD)

  • timeout (int) - таймаут подключения в секундах

Возвращает:

Экземпляр NativeDumper или PGPackDumper

from airflow.models import Connection
from dbhose_airflow import DBHoseDumpParams, CompressionMethod

# Получаем соединение из Airflow
conn = Connection.get_connection_from_secrets("my_postgres_conn")

# Создаем дампер для PostgreSQL
dumper = DBHoseDumpParams.postgres.from_airflow(
    connection=conn,
    compress_method=CompressionMethod.LZ4,
    timeout=30
)

Элементы перечисления

clickhouse = DBHoseObject("clickhouse", CHConnector, NativeDumper)

Конфигурация для ClickHouse через нативный TCP протокол.

Характеристики:

  • 📝 Имя: «clickhouse»

  • 🔌 Коннектор: CHConnector

  • 📦 Дампер: NativeDumper

  • 📊 Формат: Native (ClickHouse)

Использование: Подключение к ClickHouse серверу.

ftp = DBHoseObject("ftp", CHConnector, NativeDumper)

Конфигурация для ClickHouse через FTP протокол.

Характеристики:

  • 📝 Имя: «ftp»

  • 🔌 Коннектор: CHConnector

  • 📦 Дампер: NativeDumper

  • 📊 Формат: Native (ClickHouse)

Использование: Подключение к ClickHouse серверу.

http = DBHoseObject("http", CHConnector, NativeDumper)

Конфигурация для ClickHouse через HTTP протокол.

Характеристики:

  • 📝 Имя: «http»

  • 🔌 Коннектор: CHConnector

  • 📦 Дампер: NativeDumper

  • 📊 Формат: Native (ClickHouse)

Использование: Подключение к ClickHouse серверу.

postgres = DBHoseObject("postgres", PGConnector, PGPackDumper)

Конфигурация для PostgreSQL.

Характеристики:

  • 📝 Имя: «postgres»

  • 🔌 Коннектор: PGConnector

  • 📦 Дампер: PGPackDumper

  • 📊 Формат: PGPack (PGCopy с метаданными и сжатием)

Использование: Подключение к PostgreSQL/Greenplum серверу.

greenplum = DBHoseObject("greenplum", PGConnector, PGPackDumper)

Конфигурация для Greenplum.

Характеристики:

  • 📝 Имя: «greenplum»

  • 🔌 Коннектор: PGConnector

  • 📦 Дампер: PGPackDumper

  • 📊 Формат: PGPack (PGCopy с метаданными и сжатием)

Использование: Подключение к Greenplum серверу.

Примечание

Является внутренним объектом DBHose и не предназначен внешнего использования.

Предупреждение

Конфигурации ftp и http созданы для случаев, если в прод среде отсутствует провайдер Clickhouse и коннекторы прописаны с одним из этих типов данных.

См. также

  • CHConnector - Коннектор для ClickHouse

  • PGConnector - Коннектор для PostgreSQL/Greenplum

  • NativeDumper - Дампер для ClickHouse

  • PGPackDumper - Дампер для PostgreSQL/Greenplum