Добрый день!
Коллеги, очень нуждаюсь в помощи.
Запускаем dbt модели из Airflow 3 с помощью Astronomer Cosmos 1.14 - DbtDag (режим
load_method=LoadMode.DBT_MANIFEST
execution_mode=ExecutionMode.WATCHER
)
Моделек много (несколько тысяч), поэтому разбили на даги:
- raw_vault (по дагу на каждую схему источника),
- business_vault (по дагу на каждый домен),
- marts (свой даг на каждую витрину).
ДАГи могут работать параллельно.
Столкнулись с проблемой - рандомно (плавающая ошибка) возникает ошибка при формировании ДАГ:
ERROR - Failed to import: /opt/airflow/dags/generated/dbt_rv_api_dag.py JSONDecodeError: unexpected content after document: line 1 column 15977138 (char 15977137)
Пересборка manifest.json исправляет ошибку.
Похоже ошибка возникает по той причине, что при завершении выполнения dbt run происходит запись в раздел meta файла dbt manifest.json (записывается информация о дате запуска, invocation_id - уникальный идентификатор запуска)
Возможно, кто-то сталкивался с таким и удалось победить ?
@Sibikh по-моему нет.
Я добавлял этот флаг и одновременно устанавливал для пользователя права только на чтение manifest.json - ДАГ не мог выполниться - то есть пытался писать в manifest.json
@Sibikh тогда придется плодить этот каталог.
Astronomer Cosmos перед каждым запуском создает копию в /tmp и указывает --project-dir как /tmp/... , но делает это через soft link (то есть по итогу пишет все равно в один и тот же manifest.json)
@Sibikh, no-write-json помог (не перезаписывается manifest.json).
В первый раз я добавил его только для DbtTaskGroup, но не добавил для DbtRunOperationOperator() и DbtSeedOperator().
Спасибо за помощь!
Всем привет, интересно заводил ли кто concurrent_batches микробатча для dbt-bigquery локальными патчами макросов?
А то сейчас
config set to true, but the bigquery adapter does not support running batches concurrently
Коллеги, всем привет! Занимаюсь задачей по построению data vault 2.0 в гринпламе (ADB)
Очень хочется сделать это через automate-dv, но вижу многое из функциональности гринплама (партицирование, дистрибуция, heap/append таблицы) там не поддерживается из коробки ...
А еще не очень понятно как лучше подступиться к выбору коннектора гп - дбт. Из того что имеется в публичном доступе нашел всего 3 варианта:
1. dbt-greenplum .. раньше использовал его, но сейчас точно не готов привязываться к dbt 1.0.4 (вроде как там жесткая зависимость)
2. тоже dbt-greenplum, но более свежий
3. proplum от sapiens solutions - выглядит самым многообещающим вариантом, но кажется не самым популярным:)
Поделитесь, пожалуйста, опытом кто сталкивался с такой задачей 😇 Буду благодарен за любой совет по выбору стека и главным образом коннектора к базе. Есть еще мыслишки завайбкодить это дело на выходных .... но это крайняя мера