분석 스펙(Analysis specification)

분석 스펙(Analysis specification)

분석 실행자가 분석을 실행하는 데 필요한 모든 정보를 지정해요. 어떤 템플릿을 사용할지, 템플릿에 전달할 테이블, 템플릿이 사용하는 변수 값까지 포함해요.

출처: Analysis specification

본문

기능 — 일반 공개(Generally Available)

현재 지원 리전: 이 리전들에서 사용할 수 있어요.

정부 및 VPS 배포에서는 사용할 수 없어요.

분석 실행자가 분석을 실행하는 데 필요한 모든 정보를 지정해요. 어떤 템플릿을 사용할지, 템플릿에 전달할 테이블, 템플릿이 사용하는 변수 값을 포함해요. 자유 형식 SQL로 데이터를 쿼리하지 않는 경우, 분석을 실행하려는 분석 실행자는 이 스펙을 사용해 템플릿과 입력 데이터를 정의해요.

스키마:

api_version: 2.0.0              # Required: Must be "2.0.0"
spec_type: analysis             # Required: Must be "analysis"
template: <template_id>         # Required: ID of the template to use
name: <analysis_name>           # Optional: Unique name (max 75 chars)
version: <version_string>       # Optional: Version identifier (max 20 chars)
description: <analysis_description>  # Optional: Description (max 1,000 chars)

template_configuration:         # Optional: Values used when running the template
  view_mappings:                # Optional: Mappings for shared data
    source_tables:              # Optional: Tables from data offerings. Populates the source_table array variable.
      - <source_table_name>     # One or more source table names from the TEMPLATE_VIEW_NAME column...
    <argument_name>: <view_name>  # Custom argument to template view name mapping
  local_view_mappings:          # Optional: Mappings for local data
    my_tables:                  # Optional: Tables from local data offerings. Populates the my_table array variable.
      - <my_table_name>         # One or more local table names...
    <argument_name>: <view_name>  # Custom argument to local template view name mapping
  arguments:                    # Optional: Template arguments as key-value pairs
    <argument_name>: <argument_value>  # One or more argument key-value pairs...
  activation:                   # Required for activation templates
    snowflake_collaborator: <alias>  # Collaborator alias for activation destination
    segment_name: <segment_name>     # Unique segment name for this activation
  • api_version — 사용된 Collaboration API 버전이에요. 2.0.0이어야 해요.

  • spec_type — 스펙 유형 식별자예요. analysis이어야 해요.

  • template: template_id — 이 분석에 사용할 템플릿의 ID예요. 템플릿 이름이 아니라 템플릿이 등록될 때 얻은 템플릿 ID여야 해요.

  • name(선택) — 이 분석의 고유하고 사용자 친화적인 이름이에요. Snowflake 식별자 규칙을 따르고 최대 75자이며, Snowflake 데이터 클린룸 계정 안에서 고유해야 해요.

  • version(선택) — 이 분석 스펙의 버전 식별자예요(최대 20자). Snowflake 식별자 규칙을 따르고 이 분석 이름에 대해 계정 안에서 고유해야 해요. 좋은 형식은 YYYY_MM_DD_V#예요. 예: 2025_10_22_V1.

  • description(선택) — 이 분석이 무엇을 하는지에 대한 높은 수준의 설명이에요(최대 1,000자).

  • template_configuration(선택) — 지정된 템플릿을 실행할 때 사용되는 값이에요.

  • view_mappings(선택) — 공유 데이터 오퍼링에 대한 인자 이름과 템플릿 뷰 이름 간 매핑이에요.

  • source_tables(선택) — source_table 템플릿 변수를 채우는 뷰 이름 목록이에요. 데이터 오퍼링 스펙에 지정된 테이블 별칭을 사용하세요. VIEW_DATA_OFFERINGS를 호출하면 사용 가능한 뷰 목록을 얻을 수 있어요. TEMPLATE_VIEW_NAME 컬럼의 뷰 이름을 사용하세요. 각 항목의 형식은 collaborator_alias.data_offering_ID.dataset_alias예요.

    템플릿이 source_table로 받는 데이터셋만 나열하세요. 템플릿 작성자가 preset_tables 블록에 프리셋한 데이터셋(미리보기)은 나열하지 마세요. 그것들은 템플릿이 제공하거든요. 템플릿이 읽는 모든 데이터셋을 고정(pin)한다면 source_tables를 생략해요.

  • argument_name: view_name — 인자 이름과 템플릿 뷰 이름 간 커스텀 매핑이에요(각각 최대 255자).

  • local_view_mappings(선택) — 비공개 데이터셋에 대한 인자 이름과 로컬 템플릿 뷰 이름 간 매핑이에요.

  • my_tables(선택) — my_table 템플릿 변수를 채우는 테이블 이름 목록이에요. LINK_LOCAL_DATA_OFFERING을 호출해 링크한 비공개 데이터셋에만 사용할 수 있어요. 각 항목의 형식은 collaborator_alias.data_offering_ID.dataset_alias예요.

  • argument_name: view_name — 인자 이름과 로컬 템플릿 뷰 이름 간 커스텀 매핑이에요(각각 최대 255자).

  • arguments(선택) — 키-값 쌍의 템플릿 인자예요. 인자 값은 템플릿 요구 사항에 따라 문자열, 숫자, 부울, 배열 또는 객체일 수 있어요.

    preset_tables는 예약된 인자 이름이에요. 템플릿 작성자가 프리셋한 데이터셋(미리보기)은 템플릿이 제공하며, 분석이 이를 재정의할 수 없어요. Snowflake는 arguments에 preset_tables를 전달하는 분석을 거부해요.

  • activation(활성화 템플릿에 필수) — 활성화 템플릿을 실행할 때 필요한 활성화별 구성이에요.

  • snowflake_collaborator — 활성화 대상의 콜라보레이터 별칭이에요(최대 25자). 콜라보레이션 스펙의 collaborator_identifier_aliases 섹션에 정의된 별칭과 일치해야 하고, 그 콜라보레이터는 activation_destinations 섹션에 나열되어 있어야 해요.

  • segment_name — 이 활성화의 고유한 세그먼트 이름이에요(최대 255자). 활성화 결과를 식별하고 추적하는 데 사용돼요. Snowflake 식별자 규칙을 따라야 해요.

더 알아보기