Сейчас данные шардированы по приложениям и мы в самописном пайплайне просто запускаем одинаковый запрос в отдельном потоке на каждый шард, можно ли что-то такое сделать в dbt для ускорения?
Прописываете в profiles.yml подключение к каждому шарду и используете при dbt run флаг --target *название таргета для шарда*. И так на каждый шард. Распараллелить можете в том же эйрфлоу, по таске на каждый шард
Спасибо, а если усложнить, и надо много запросов на 1 шард, например разбиваем 1 жирный запрос чтобы в память укладывался через where app_id % 30 = {0..29}. Через dbt run --vars нормально делать? + автогенерация тасок в airflow
dbt_users DBT users group Взаимное уважение и без спама. Для вакансий тег #job Dual language: russian/english https://t.me/dbt_users Вполне живое русскоязычное комьюнити. Там был ответ про union_relations макрос
Спасибо, изучу, но на первый взгляд это что-то для объединения, а не разбития запроса)
Ну а объединять-то данные потом как будете?))
так они пишут в 1 таблицу, объединять ничего не надо) Просто 1 запрос на вставку разбивается на 30 маленьких
Короче, почитайте. Может это то, что нужно. У меня таких проблем не возникало, только при initial load. Там тупо циклом с переменным делал
Обсуждают сегодня