종속 항목 선언

이 문서에서는 종속 항목을 선언하여 Dataform에서 SQL 워크플로의 객체 간 관계를 정의하는 방법을 보여줍니다.

SQL 워크플로의 객체 간 종속 항목 관계를 정의할 수 있습니다. 종속 항목 관계에서 종속 객체의 실행은 종속 항목 객체의 실행에 따라 달라집니다. 즉, Dataform은 종속 항목 객체 다음에 종속 객체를 실행합니다. 종속 객체의 SQLX 정의 파일 내에서 종속 항목을 선언하여 관계를 정의합니다.

종속 항목 선언은 Dataform에서 SQL 워크플로 객체를 실행하는 순서를 결정하는 SQL 워크플로의 종속 항목 트리를 구성합니다.

다음 SQL 워크플로 객체 간의 종속 항목 관계를 정의할 수 있습니다.

데이터 소스 선언
Dataform 테이블 정의 및 SQL 작업에서 이러한 데이터 소스를 참조할 수 있는 BigQuery 데이터 소스의 선언입니다. 데이터 소스 선언을 종속 항목으로 설정할 수 있지만 종속 객체로 설정할 수는 없습니다.
테이블
선언된 데이터 소스 또는 SQL 워크플로의 다른 테이블을 기반으로 Dataform에서 만드는 테이블입니다. Dataform은 테이블, 증분 테이블, 뷰, 구체화된 뷰와 같은 테이블 유형을 지원합니다. 테이블을 종속 항목과 종속으로 설정할 수 있습니다.
커스텀 SQL 작업
Dataform이 수정하지 않고 그대로 BigQuery에서 실행하는 SQL 문입니다. type: operations 파일에서 정의된 커스텀 SQL 작업을 종속 항목 및 종속으로 설정할 수 있습니다. 커스텀 SQL 작업을 ref 함수에서 종속 항목으로 선언하려면 커스텀 SQL 작업 SQLX 정의 파일에서 hasOutput 속성을 true로 설정해야 합니다.
어설션
테이블 데이터를 테스트하는 데 사용할 수 있는 데이터 품질 테스트 쿼리입니다. Dataform은 SQL 워크플로를 업데이트할 때마다 어설션을 실행하고 어설션이 실패할 경우 알림을 제공합니다. type: assertion 파일에 정의된 어설션을 종속 항목으로, config 블록의 종속 항목을 선언하여 종속으로 설정할 수 있습니다.

다음과 같은 방법으로 종속 항목 관계를 정의할 수 있습니다.

시작하기 전에

  1. 저장소에서 개발 작업공간을 만들고 초기화합니다.
  2. 선택사항: 데이터 소스를 선언합니다.
  3. 최소 둘 이상의 SQL 워크플로 객체를 만듭니다. 테이블, 어설션, 데이터 소스 선언 또는 작업

필요한 역할

테이블, 어설션, 데이터 소스 선언, 커스텀 SQL 작업의 종속 항목을 선언하는 데 필요한 권한을 얻으려면 관리자에게 작업공간의 Dataform 편집자(roles/dataform.editor) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

종속 항목을 ref 함수의 인수로 선언

SELECT 문에서 종속 항목을 참조하고 자동으로 선언하려면 종속 항목을 ref 함수의 인수로 추가합니다.

ref 함수는 SQL 워크플로에서 true로 설정된 hasOutput 속성을 사용하여 모든 테이블, 데이터 소스 선언 또는 커스텀 SQL 작업을 참조하고 자동으로 종속되도록 하는 Dataform Core 기본 제공 함수입니다.

ref 함수에 대한 자세한 내용은 Dataform Core 컨텍스트 메서드 참조를 확인하세요.

테이블 정의에서 ref 함수를 사용하는 방법에 대한 자세한 내용은 테이블 정의 정보를 참조하세요.

다음 코드 샘플은 증분 테이블의 incremental_table.sqlx SQLX 정의 파일에서 ref 함수의 인수로 추가된 source_data 데이터 소스 선언을 보여줍니다.

// filename is incremental_table.sqlx

config { type: "incremental" }

SELECT * FROM ${ref("source_data")}

앞의 코드 샘플에서 source_data은 자동으로 incremental_table의 종속 항목을 선언합니다.

다음 코드 샘플은 어설션의 custom_assertion.sqlx SQLX 정의 파일에서 ref 함수의 인수로 추가된 some_table 테이블 정의 SQLX 파일을 보여줍니다.

// filename is custom_assertion.sqlx

config { type: "assertion" }

SELECT
  *
FROM
  ${ref("some_table")}
WHERE
  a is null
  or b is null
  or c is null

앞의 코드 샘플에서 some_table은 자동으로 custom_assertion의 종속 항목을 선언합니다. 실행 중에 Dataform은 먼저 some_table을 실행한 다음 some_table이 생성되면 custom_assertion을 실행합니다.

config 블록에서 종속 항목 선언

종속의 SQL 문 정의에서 참조되지 않지만 테이블, 어설션 또는 커스텀 SQL 작업 전에 실행해야 하는 종속 항목을 선언하려면 다음 단계를 따르세요.

  1. 개발 작업공간의 파일 창에서 definitions/ 디렉터리를 펼칩니다.
  2. 수정할 테이블, 어설션 또는 커스텀 SQL 작업 SQLX 파일을 선택합니다.
  3. 파일의 config 블록에 다음 코드 스니펫을 입력합니다.

    dependencies: [ "DEPENDENCY", ]
    

    DEPENDENCY를 종속 항목으로 추가하려는 테이블, 어설션, 데이터 소스 선언 또는 커스텀 SQL 작업의 파일 이름으로 바꿉니다. 여러 파일 이름을 쉼표로 구분하여 입력할 수 있습니다.

  4. (선택사항): 형식을 클릭합니다.

다음 코드 샘플은 테이블 정의 파일의 config 블록에 종속 항목으로 추가된 some_table 테이블과 some_assertion 어설션을 보여줍니다.

config { dependencies: [ "some_table", "some_assertion" ] }

다음 단계