- Зачем: - нужен единый штатный путь исполнения SQL и программных запросов ClickHouse из Airflow. - Что: - добавлен официальный провайдер и подключения типа `clickhouse`. - SQL-файлы переданы `SQLExecuteQueryOperator`, а программные запросы — `ClickHouseHook`. - разбор заказов собран в одном файле, DDL разделён по задачам, документация и смоук обновлены. - Проверка: - выполнены `make lint` и `make config-test`. - собран образ, выполнены `pip check`, `make rebuild-storage`, `make smoke` (21/21), `make check-clickhouse` (10/10) и `make check-services` (7/7).
21 lines
1.2 KiB
Docker
21 lines
1.2 KiB
Docker
FROM apache/airflow:3.3.0
|
|
|
|
USER root
|
|
|
|
# SQL-файлы ClickHouse исполняет официальный провайдер Airflow. Он разрешает
|
|
# любую версию clickhouse-connect >= 1.3.0, поэтому драйвер закреплён отдельно:
|
|
# сборка стенда не должна незаметно менять транспорт при обновлении зависимостей.
|
|
#
|
|
# Официальный провайдер Kafka использует тот же confluent-kafka. Пробникам
|
|
# не нужны его подключения и обёртки, поэтому в образ добавлен сам клиент.
|
|
#
|
|
# Провайдера docker, которым пульт мира зовёт генератор, ставить не нужно:
|
|
# база несёт его сама — 4.5.7 к Airflow 3.3.0, замер 13 августа 2026 года.
|
|
RUN uv pip install --python /home/airflow/.local/bin/python --no-cache \
|
|
"apache-airflow-providers-clickhousedb==1.0.0" \
|
|
"clickhouse-connect==1.6.0" \
|
|
"confluent-kafka==2.15.0" \
|
|
&& python -c "import airflow.providers.clickhousedb, clickhouse_connect, confluent_kafka"
|
|
|
|
USER airflow
|