我该如何使用dbt选择不同的虚拟仓库大小,具体取决于它的运行方式?
例如,当手动执行完整的dbt构建时,在XL上运行,但在运行特定模型(如dbt build --select models/test.sql
)时默认为XS。
我该如何使用dbt选择不同的虚拟仓库大小,具体取决于它的运行方式?
例如,当手动执行完整的dbt构建时,在XL上运行,但在运行特定模型(如dbt build --select models/test.sql
)时默认为XS。
{% macro warehouse_resize(prod_size, stage_size) %}
{% if target.name == "prod" or target.name == "prod_backfill" %}
ALTER WAREHOUSE {{ target.warehouse }} SET WAREHOUSE_SIZE = {{ prod_size }};
{% else %}
ALTER WAREHOUSE {{ target.warehouse }} SET WAREHOUSE_SIZE = {{ stage_size }};
{% endif %}
{% endmacro %}
并将其作为运行开始和运行结束的钩子来调整大小。
(感谢Emily!)
更新:请检查宏snowflake_utils.warehouse_size()
:
https://github.com/Montreal-Analytics/dbt-snowflake-utils/tree/0.3.0/