returns 속성
returns 속성 (함수)
returns 속성은 사용자 정의 함수(UDF)의 출력을 정의해요. 모든 함수에 필수인 속성으로, 실행 시 함수가 반환할 데이터 타입을 지정해 줘요.
출처: 문서
본문
💡 알고 계셨나요? dbt v1.11부터 또는 dbt "v1 Latest" 릴리스 트랙에서 사용할 수 있어요.
functions/<filename>.yml
functions:
- name: <function name>
returns:
data_type: <string> # required, warehouse-specific
description: <markdown_string> # optional
Definition
returns 속성은 사용자 정의 함수(UDF)의 출력을 정의해요. 모든 함수에 필수인 속성으로, 함수 실행 시 반환할 데이터 타입을 지정해요.
Properties
data_type (필수)
data_type 필드는 함수가 반환하는 데이터 타입을 지정해요. 필수 필드이며, 사용 중인 데이터 플랫폼이 지원하는 데이터 타입과 일치해야 해요.
웨어하우스별 데이터 타입 — data_type 값은 웨어하우스별로 달라요. 웨어하우스가 요구하는 데이터 타입 구문을 사용하세요:
- Snowflake:
STRING,NUMBER,BOOLEAN,TIMESTAMP_NTZ,VARIANT등 - BigQuery:
STRING,INT64,BOOL,TIMESTAMP,ARRAY<STRING>,STRUCT등 - Redshift:
VARCHAR,INTEGER,BOOLEAN,TIMESTAMP,SUPER등 - Postgres:
TEXT,INTEGER,BOOLEAN,TIMESTAMP,JSONB등
지원되는 데이터 타입의 전체 목록과 구문은 웨어하우스 문서를 참고해 주세요.
description
함수가 무엇을 반환하는지 설명하는 선택적 마크다운 문자열이에요. 문서화하는 데 유용해요.
Examples
간단한 스칼라 함수
functions/schema.yml
functions:
- name: is_valid_email
description: Validates if a string is a properly formatted email address
arguments:
- name: email_string
data_type: STRING
description: The email address to validate
returns:
data_type: BOOLEAN
description: Returns true if the string is a valid email format, false otherwise
복잡한 반환 타입을 가진 함수
functions/schema.yml
functions:
- name: calculate_metrics
description: Calculates revenue and profit metrics
arguments:
- name: revenue
data_type: DECIMAL(18,2)
- name: cost
data_type: DECIMAL(18,2)
returns:
data_type: DECIMAL(18,2)
description: The calculated profit margin as a percentage
ARRAY 반환 타입을 가진 BigQuery 함수
functions/schema.yml
functions:
- name: split_tags
description: Splits a comma-separated string into an array of tags
arguments:
- name: tag_string
data_type: STRING
returns:
data_type: ARRAY<STRING>
description: An array of individual tag strings