Я получаю ошибку 'Этот запуск превысил лимиты памяти вашего аккаунта' в моей неудавшейся задаче
Если вы получаете ошибку Этот запуск превысил лимиты памяти вашего аккаунта
в вашей неудавшейся задаче, это означает, что задача превысила лимиты памяти, установленные для вашего аккаунта. Все аккаунты dbt Cloud имеют лимит памяти пода в 600Mib, и лимиты памяти устанавливаются на каждый запуск. Они обычно зависят от объема данных результатов, которые dbt должен загрузить и обработать, что обычно невелико, но может неожиданно увеличиться из-за выбора проектирования.
Общие причины
Некоторые общие причины повышенного использования памяти:
- dbt run/build: Макросы, которые захватывают большие наборы результатов из выполняемого запроса, могут быть не все необходимы и могут быть неэффективны по памяти.
- dbt docs generate: Источники или схемы моделей с большим количеством таблиц (даже если эти таблицы не все используются dbt) вызывают загрузку очень больших результатов для запросов каталога.
Решение
Существует множество причин, по которым вы можете сталкиваться с этой ошибкой, но в основном они связаны с извлечением слишком большого объема данных в dbt. Например, использование операций run_query()
или подобных макросов, или даже использование баз данных/схем, которые содержат много других таблиц/представлений, не связанных с dbt. Попробуйте уменьшить объем данных/количество строк, извлекаемых в dbt, переработав SQL в вашей операции run_query()
с использованием клауз group
, where
или limit
. Кроме того, вы можете использовать базу данных/схему с меньшим количеством таблиц/представлений, не связанных с dbt.
В качестве дополнительного ресурса, посмотрите это видео, которое демонстрирует, как перераб отать пример кода, уменьшая количество возвращаемых строк.
Если вы попробовали предыдущие предложения и все еще сталкиваетесь с неудачными запусками задач с этой ошибкой о превышении лимитов памяти вашего аккаунта, пожалуйста, обратитесь в поддержку. Мы будем рады помочь!