Быстрый старт¶
Установка библиотеки¶
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,
)