#bigdata #snowflake-cloud-data-platform #data-warehouse #dbt
Вопрос:
В настоящее время я осваиваю DBT для заполнения и обновления нашего хранилища данных и начинаю рассматривать, где мы могли бы извлечь выгоду из дополнительной нагрузки для сокращения вычислительных ресурсов и времени обработки.
Одна вещь, которую я действительно не могу понять из документации DBT, — это то, где инкрементные модели должны находиться в конвейере, и мне интересно, есть ли у кого-нибудь примеры из реального мира, которыми они могут поделиться.
Прямо сейчас конвейер состоит из исходных (материализованных в виде представлений) -> стадий (таблица) ->> стадий производства (таблица). То, что я читаю в Интернете, похоже, предполагает, что инкрементные модели должны располагаться как можно ближе к источнику, что имеет смысл, но это означает, что мы будем хранить табличные данные на каждом этапе конвейера, что кажется почти ненужным. Если я перенесу добавочную нагрузку в промежуточные модели, это устранит эту проблему, но означает, что представления всегда возвращают полный набор данных. Если я изменю исходный этап, чтобы использовать стратегию инкрементной загрузки, должен ли я также увеличивать другие этапы конвейера?
Я понимаю, что это немного открытый вопрос, поэтому приношу свои извинения за это — я просто ищу некоторые указания.