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

더 알아보기 (Learn more)