如何使用dbt为Snowflake选择不同的虚拟仓库大小?

3

我该如何使用dbt选择不同的虚拟仓库大小,具体取决于它的运行方式?

例如,当手动执行完整的dbt构建时,在XL上运行,但在运行特定模型(如dbt build --select models/test.sql)时默认为XS。

1个回答

3
您可以使用宏来实现以下操作:
{% 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/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接