source 함수

source 함수

select * from {{ source("source_name", "table_name") }}

source 함수는 소스(source)에 대한 Relation을 반환하고, 소스와 현재 모델 사이에 의존성을 만들어요.

출처: 문서

본문

정의

이 함수는:

  • source에 대한 Relation을 반환해요
  • 소스와 현재 모델 사이에 의존성(dependency)을 만들어요. 문서화와 노드 선택에 유용해요
  • 데이터베이스에서 전체 객체 이름으로 컴파일돼요

관련 가이드

인자(Arguments)

  • source_name: sources: 키 아래 정의된 name:
  • table_name: tables: 키 아래 정의된 name:

예시

다음과 같이 정의된 소스를 생각해볼게요:

models/.yml


sources:
  - name: jaffle_shop # this is the source_name
    database: raw

    tables:
      - name: customers # this is the table_name
      - name: orders

모델에서 소스를 선택하려면:

models/orders.sql

select
  ...

from {{ source('jaffle_shop', 'customers') }}

left join {{ source('jaffle_shop', 'orders') }} using (customer_id)

더 알아보기 (Learn more)

  • source()는 원본 데이터(raw data)를 참조할 때 쓰는 함수예요. 모델 참조는 ref()를 써요.
  • 관련 개념: ref, sources 문서.