배포

사용

view: my_view {
  derived_table: {
    distribution: "customer_id"
    ...
  }
}
계층 구조
distribution

- 또는 -

distribution
기본값
없음

수락
파생 테이블 또는 집계 테이블의 열 이름

특별 규칙
distribution는 Redshift 및 Aster 데이터베이스에서만 지원됩니다.

정의

distribution 매개변수를 사용하면 영구 파생 테이블 (PDT) 또는 집계 테이블에서 분산 키를 적용할 열을 지정할 수 있습니다. 배포 키는 클러스터에 데이터를 분산합니다. distribution 매개변수에 지정된 열로 두 테이블을 조인하면 데이터베이스가 동일한 노드에서 조인된 데이터를 찾아 노드 간 I/O를 최소화할 수 있습니다. distribution 매개변수는 Redshift 및 Aster 데이터베이스에서만 작동합니다. MySQL, Postgres와 같은 다른 SQL 언어의 경우 indexes을 대신 사용하세요.

distribution 매개변수는 PDT 및 집계 테이블과 같이 영구 테이블에서만 작동합니다. distribution는 지속성 전략이 없는 파생 테이블에 지원되지 않습니다.

또한 create_process 또는 sql_create를 사용하여 정의된 파생 테이블에는 distribution 매개변수가 지원되지 않습니다.

일반적으로 분산 키는 외래 키 역할을 하는 열 (테이블을 다른 테이블에 조인하는 데 사용하는 열)에 적용해야 합니다. 권장사항은 언어의 문서를 참고하세요.

예시

customer_id에 분포 키가 있는 customer_order_facts 영구 파생 테이블을 만듭니다.

view: customer_order_facts {
  derived_table: {
    explore_source: order {
      column: customer_id { field: order.customer_id }
      column: lifetime_orders { field: order.lifetime_orders }
    }
    datagroup_trigger: order_datagroup
    distribution: "customer_id"
  }
}

customer_id에 분포 키가 있는 SQL 쿼리를 기반으로 customer_order_facts 파생 테이블을 만듭니다.

view: customer_order_facts {
  derived_table: {
    sql:
      SELECT
        customer_id,
        COUNT(*) AS lifetime_orders
      FROM
        order ;;
    persist_for: "24 hours"
    distribution: "customer_id"
  }
}