Быстрый старт

Установка библиотеки

pip install dbhose-airflow

При установке основного модуля будут так же установлены дополнительные пакеты.

Сборка в Docker для образа Airflow

Требования

  • Версия Airflow не ниже 2.4.3

  • Отсутствие в constraints жесткой привязки к версии ниже чем требуется для следующих модулей:

cffi>=1.17.1
lz4>=4.4.3
zstandard>=0.23.0
pandas>=2.1.0
polars>=0.20.31
psycopg_binary>=3.3.2
psycopg>=3.3.2
sqlparse>=0.5.4
backports.zoneinfo==0.2.1;python_version<"3.9"

Для установки актуальной версии dbhose-airflow добавьте в requirements.txt актуальную версию пакета:

dbhose-airflow==0.1.0.7

Выполните пересборку образа:

docker compose up --build

Пример DAG

from datetime import datetime

from airflow import DAG
from airflow.operators.python import PythonOperator
from dbhose_airflow import (
    DBHose,
    MoveMethod,
)


def transfer_data():

    dbhose = DBHose(
        table_dest="target_table",
        connection_dest="clickhouse_conn",
        connection_src="postgres_conn",
        move_method=MoveMethod.replace,
    )

    dbhose.from_dmbs(table="default.source_table")


with DAG(
    'data_transfer_dag',
    start_date=datetime(2025, 10, 27),
) as dag:

    transfer_task = PythonOperator(
        task_id='transfer_data',
        python_callable=transfer_data,
    )