Когда следует использовать UDF вместо макроса?
И пользовательские функции (UDF), и макросы позволяют переиспользовать логику в dbt‑проекте, однако работают они принципиально по‑разному. Ниже — рекомендации, когда стоит использовать каждый из подходов.
Используйте UDF, когда:
Используйте макросы, когда:
Можно ли использовать оба подхода вместе?
Да! Вы можете использовать макрос для вызова UDF или вызывать макрос внутри UDF, сочетая преимущества обоих подходов. Например, следующий пример показывает, как использовать макрос для задания значений аргументов по умолчанию вместе с логикой UDF:
{% macro cents_to_dollars(column_name, scale=2) %}
{{ function('cents_to_dollars') }}({{ column_name }}, {{scale}})
{% endmacro %}
Связанная документация
Нашли ошибку?
0