feat(world): жизненный цикл передан Airflow
- Зачем: - Compose должен поднимать инфраструктуру, а Airflow — владеть прикладным миром. - Что: - добавлены даги создания и пересоздания мира с явными состояниями позиции; - цели make переведены на REST API Airflow, старые одноразовые службы удалены; - добавлена ограниченная учётная запись ClickHouse для прикладного DDL. - Проверка: - `make lint`, `make config-test`, `bash -n scripts/run-dag.sh infra/airflow/init.sh`; - `make lint` и `make typecheck` в `generator/`; - холодный `make up`, повторный `make up`, `make rebuild-storage` и сценарий оборванной очистки; - `make smoke`, `make check-clickhouse`, `make check-services`.
This commit is contained in:
1 parent
0340b060f2
commit
fc5244cc67
14 files changed
+619
-338
No files matched your search
@@ -5,8 +5,8 @@
|
||||
-- окажется лицом половины кластера. Имя кластера — clickstream_cluster,
|
||||
-- задано в infra/clickhouse/config.d/cluster.xml.
|
||||
--
|
||||
-- Идемпотентность везде через IF NOT EXISTS: make up применяет эти файлы и
|
||||
-- поверх живого тома.
|
||||
-- Идемпотентность везде через IF NOT EXISTS: world_initialize может повторить
|
||||
-- применение после оборванного первого запуска.
|
||||
|
||||
CREATE DATABASE IF NOT EXISTS stg ON CLUSTER clickstream_cluster;
|
||||
|
||||
|
||||
@@ -94,7 +94,7 @@ ENGINE = Distributed('clickstream_cluster', 'stg', 'hits_raw_rep', cityHash64(ra
|
||||
|
||||
-- Чтец топика orders. Матвью к нему не привязана: слепок забирает прямым
|
||||
-- SELECT даг orders_ingest. Почему пулл, почему без матвью и почему у топика
|
||||
-- одна партиция — ADR 0008; сам топик создаёт kafka-init в compose.yaml.
|
||||
-- одна партиция — ADR 0008; сам топик заранее создаёт world_initialize.
|
||||
--
|
||||
-- Без ON CLUSTER: таблица нужна только на clickhouse-01 — той ноде, к которой
|
||||
-- у Airflow подключение, и она же одна читает топик.
|
||||
|
||||
Reference in new issue
Block a user