사용
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"
}
}