Свойства функций
💡Did you know...
Available from dbt v1.11 or with the dbt "Latest" release track.
Свойства функций можно объявлять в .yml‑файлах под ключом functions.
Мы рекомендуем размещать их в директории functions/. Эти файлы можно называть schema.yml или как угодно (whatever_you_want.yml), а также вкладывать их в поддиректории внутри этой директории.
functions/<filename>.yml
functions:
- name: <string> # обязательно
description: <markdown_string> # необязательно
config: # необязательно
<function_config>: <config_value>
type: scalar | aggregate # необязательно, по умолчанию scalar.
volatility: deterministic | stable | non-deterministic # необязательно
runtime_version: <string> # обязательно для Python UDF
entry_point: <string> # обязательно для Python UDF
docs:
show: true | false
node_color: <color_id> # Используйте имя (например, node_color: purple) или hex‑код в кавычках (например, node_color: "#cd7f32")
arguments: # необязательно
- name: <string> # обязательно, если указан arguments
data_type: <string> # обязательно, если указан arguments; зависит от хранилища данных
description: <markdown_string> # необязательно
default_value: <string | boolean | integer> # необязательно; доступно в Snowflake и Postgres
- name: ... # объявите дополнительные аргументы
returns: # обязательно
data_type: <string> # обязательно; зависит от хранилища данных
description: <markdown_string> # необязательно
- name: ... # объявите свойства дополнительных функций
Пример
functions/schema.yml
functions:
- name: is_positive_int
description: Определяет, представляет ли строка положительное (+) целое число
config:
type: scalar
volatility: deterministic
database: analytics
schema: udf_schema
arguments:
- name: a_string
data_type: string
description: Строка, которую нужно проверить, представляет ли она положительное целое число (например, "10")
returns:
data_type: boolean
description: Возвращает true, если входная строка представляет положительное целое число, и false в противном случае
Нашли ошибку?
0