Semantic View Autopilot
Semantic View Autopilot
Semantic View Autopilot은 Snowsight에서 시맨틱 뷰(semantic view) 를 만드는 AI 지원 방식입니다. YAML 스펙 을 손으로 작성하는 대신, 원하는 것을 설명하면 Autopilot이 논리 테이블, 관계, 지표를 생성해 줍니다.
Autopilot은 생성을 담당합니다. 뷰가 생성된 후에는 Semantic Studio 에서 다듬고 배포합니다.
출처: Snowflake 문서
본문
Semantic View Autopilot 열기
Semantic Studio를 통해 Autopilot에 도달합니다.
- Snowsight 에 로그인합니다.
- 탐색 메뉴에서 Workspaces를 선택합니다.
- Add new » Semantic View를 선택합니다.
이렇게 하면 Autopilot 마법사가 열립니다.
참고
이 섹션의 지침을 사용해 시맨틱 모델(semantic model)을 만들 수도 있지만, 시맨틱 뷰를 사용하는 것을 권장합니다. 시맨틱 뷰는 다음 기능을 제공합니다.
- 시맨틱 뷰는 Derived Metrics 같은 고급 기능을 지원합니다.
- 시맨틱 뷰는 접근 수정을 지원합니다. 기본적으로 공개지만 비공개로 만들 수 있습니다.
- 시맨틱 뷰는 Snowflake의 권한 시스템, 공유 메커니즘, 메타데이터 카탈로그와 통합되는 스키마 객체입니다. 시맨틱 모델은 스테이지에 저장된 YAML 파일이며 이러한 네이티브 데이터베이스 통합이 부족합니다.
사전 요구 사항
시맨틱 뷰를 만들려면 다음 권한을 가진 역할을 사용해야 합니다.
- 시맨틱 뷰를 만드는 스키마에 대한 CREATE SEMANTIC VIEW 권한.
- 시맨틱 뷰를 만드는 데이터베이스와 스키마에 대한 USAGE 권한.
- 시맨틱 뷰에 사용되는 테이블과 뷰에 대한 SELECT 권한.
Tableau에서 모델을 내보내 시맨틱 뷰를 자동으로 생성하는 데 사용할 수 있습니다. 앞의 사전 요구 사항에 더해, Tableau 수집 기능은 다음을 요구합니다.
- 쓰기 권한이 있는 스테이지.
- Tableau 파일에 Custom SQL이 포함된 경우, SQL이 일반 Snowflake 뷰로 파싱되므로 스키마에 대한 CREATE VIEW 권한도 있어야 합니다.
또한 Power BI 파일(.pbit 또는 .pbix)을 업로드해 시맨틱 뷰를 자동으로 생성할 수 있습니다. 앞의 사전 요구 사항에 더해, Power BI 수집 기능은 다음을 요구합니다.
- 쓰기 권한이 있는 스테이지.
- Power BI 파일이 참조하는 기본 테이블과 열에 대한 읽기 접근 권한.
시맨틱 뷰 생성
Semantic View Autopilot을 사용해 시맨틱 뷰 생성
AI 지원 생성기를 사용해 여러 소스의 시맨틱 정보를 결합하는 시맨틱 뷰를 만드세요. 자신의 YAML 스펙으로 시맨틱 뷰를 수동으로 만드는 대신 Snowsight 내의 생성기를 사용해 시간을 절약할 수 있습니다. 시맨틱 뷰를 만드는 과정은 다음 정보를 요구합니다.
- 뷰에 대한 기본 정보가 있는 설명
- 예시 SQL 쿼리 같은 컨텍스트
- 사용 중인 데이터 소스(적어도 하나의 테이블 또는 뷰)
- 사용 중인 열
AI 지원 생성기는 입력을 다음 방식으로 처리합니다.
-
예시 SQL 쿼리
-
쿼리 목록을 검증하고 유효하지 않은 쿼리는 버립니다.
-
쿼리에서 모든 테이블과 열을 추출해 시맨틱 뷰에 추가하기 전에 검토를 위해 제시합니다.
-
쿼리에서 관계(relationships)를 추출합니다.
-
유효한 쿼리를 검증된 쿼리(verified queries)로 시맨틱 뷰에 추가합니다.
-
테이블 메타데이터
-
모든 테이블과 열 설명을 추출합니다.
-
메타데이터를 분석하거나 고유 값을 세어 카디널리티(cardinality)와 관계 유형을 결정함으로써 시맨틱 뷰에 기본 키와 고유 키를 추가합니다.
-
쿼리 기록
-
시맨틱 뷰에 제안으로 과거 SQL 쿼리를 표시합니다. 생성기는 선택한 테이블과 열의 범위 안에 맞는 가장 일반적인 유형의 쿼리를 식별합니다.
-
시맨틱 뷰에 대한 유효한 관계와 열 유형을 찾습니다.
-
Cortex Analyst는 시맨틱 뷰를 만드는 데 사용된 역할이 접근할 수 있는 쿼리 기록을 사용해 관계와 검증된 쿼리 제안을 모두 생성합니다.
생성기로 시맨틱 뷰를 만들려면:
- Semantic View Autopilot 열기.
- 생성 후 시맨틱 뷰를 저장할 위치를 선택합니다.
- 시맨틱 뷰의 이름을 입력합니다.
- Description에 시맨틱 뷰에 대한 정보를 지정합니다. AI가 뷰의 목적을 이해할 수 있도록 명확한 비즈니스 용어를 사용하세요.
- Next를 선택합니다.
- 컨텍스트를 제공하려면 다음 정보를 추가합니다.
SQL Queries에 대해, 뷰의 일부로 사용하려는 예시 질문과 그에 대응하는 SQL 쿼리를 제공하세요.
- Select tables에 대해 시맨틱 뷰를 만들 때 사용하는 데이터 소스를 제공하세요. 적어도 하나의 테이블 또는 뷰를 제공해야 합니다. 첫 번째 시맨틱 뷰의 경우 Snowflake는 이해하고 사용하기 쉽도록 10개 미만의 테이블 또는 뷰를 권장합니다. 이것은 엄격한 한도가 아닙니다.
- Next를 선택합니다.
- Select columns에 대해 시맨틱 뷰를 만들 때 사용하는 열을 선택합니다.
모든 열 또는 특정 열을 선택할 수 있습니다. 성능상의 이유로 Snowflake는 50개 이상의 열을 사용하지 않는 것을 권장합니다.
- 각 열에서 샘플 값을 시맨틱 뷰에 추가할지 선택합니다. 샘플 값은 Cortex Analyst 결과의 정확도를 높이는 데 도움이 됩니다.
- 테이블과 열에 대한 AI 생성 설명을 시맨틱 뷰에 추가할지 선택합니다. AI 생성 설명은 열 이름과 샘플 값을 기반으로 합니다.
- Create and save를 선택한 다음 Save and run을 선택합니다. 시맨틱 뷰 페이지에서 뷰 생성의 진행 상황(뷰 생성기가 수행하는 단계에 대한 세부 정보 포함)을 볼 수 있습니다. 프로세스는 몇 분이 걸릴 수 있습니다.
- 선택 사항: 추가 수정을 하려면 Semantic Studio 에서 뷰를 다듬거나 YAML 파일을 직접 편집하세요.
Cortex Analyst는 생성 후 시맨틱 뷰를 개선하는 제안을 자동으로 생성합니다. 제안이 나타나면(몇 분이 걸릴 수 있음) 검토하고 필요에 따라 뷰에 적용할 수 있습니다.
CoCo를 사용해 시맨틱 뷰 생성
마법사는 시작할 수 있는 몇 가지 옵션을 제공하며, Snowflake는 뷰 생성을 대화형으로 안내하는 CoCo를 권장합니다.
- Semantic View Autopilot 열기.
- 마법사가 사용 가능한 옵션을 제공하면 CoCo를 선택합니다.
- 데이터를 자연어로 설명하세요:
Create a semantic view using the tables in ANALYTICS.SALES
I need a semantic view for customer support. We track ticket volume, resolution time, and CSAT.- CoCo가 테이블, 관계, 지표가 포함된 YAML 파일을 생성합니다.
- 변경을 요청하세요. 각 변경은 수락하거나 거부할 수 있는 인라인 diff로 나타납니다.
Add a profit margin metric
The join between ORDERS and RETURNS should use return_order_idRename DEMO to DEMOGRAPHICS everywhere
대화 예시:
You: Create a semantic view using the tables in ANALYTICS.SALES
CoCo: I found 4 tables. I've created a semantic view with 5 relationships and 3 metrics: total_revenue, total_orders, average_order_value. Take a look and let me know what to change.
You: The join between ORDERS and RETURNS should be on return_order_id. Also add a return rate metric.
CoCo: Done. Here's the diff: [inline diff in editor]
컨텍스트 제공 옵션
컨텍스트 제공은 선택 사항이지만 고품질 시맨틱 뷰를 만드는 데 매우 유용합니다. 컨텍스트가 없으면 생성기는 데이터베이스 스키마 정보만 사용하며, 이는 비즈니스 뉘앙스가 부족할 수 있습니다. Snowflake는 컨텍스트 제공을 위한 다음 옵션을 지원합니다.
옵션 1: Tableau 파일 업로드
Semantic View Autopilot은 Tableau의 파일을 사용해 시맨틱 뷰를 자동으로 생성하는 것을 지원합니다. 이를 통해 기존 비즈니스 로직과 메타데이터를 Snowflake로 직접 마이그레이션할 수 있습니다. Autopilot은 TWB, TWBX, TDS, TDSX 형식을 지원하며 테이블, 열, 관계, 계산 필드, 파라미터, 필터, Custom SQL을 추출합니다. 파일의 테이블은 직접 Snowflake 연결로 해석되어야 합니다.
지원되는 형식, 파일 제약, Tableau Desktop 또는 Tableau Online에서 내보내는 방법, 발행된 데이터 소스가 작동하는 방식, 추출된 메타데이터의 전체 목록에 대해서는 Tableau 수집 기능 지원 을 참고하세요.
옵션 2: Power BI 파일 업로드
Semantic View Autopilot은 Power BI 파일을 사용해 시맨틱 뷰를 자동으로 생성하는 것을 지원합니다. 이를 통해 기존 DAX 측정값, 테이블 관계, 열 정의를 Snowflake로 직접 마이그레이션할 수 있습니다. Autopilot은 .pbit 및 .pbix 형식을 지원합니다.
지원되는 형식, 파일 제약, Power BI Desktop에서 내보내는 방법, 상세 기능 지원에 대해서는 Power BI 수집 기능 지원 을 참고하세요.
옵션 3: SQL 쿼리 제공
예시 자연어 질문과 그에 대응하는 SQL 쿼리를 추가할 수 있습니다. 이는 모델이 특정 비즈니스 로직을 배우고 관계를 만들도록 돕습니다.
Snowflake는 이러한 쿼리를 사용해 이후 단계에서 테이블과 열을 미리 선택하며, 시맨틱 뷰에 "검증된 쿼리(verified queries)"로 자동 추가합니다. 또한 유효한 관계가 추론될 수 있다면 시맨틱 뷰에 추가됩니다.
쿼리를 파일로 제공하려면 자연어 질문과 그에 대응하는 SQL 쿼리의 두 열을 가진 .csv 형식을 사용하세요.
옵션 4: YAML 스펙 업로드
이미 YAML 스펙 또는 레거시 시맨틱 모델 YAML 파일을 유지 관리하고 있다면, 데이터를 설명하는 대신 마법사에 업로드할 수 있습니다. 업로드할 YAML 파일을 선택하면 Autopilot이 스펙을 시맨틱 뷰로 변환하고 이후 다듬을 수 있습니다.
스테이지에서 시맨틱 뷰를 만드는 경우 먼저 YAML 파일용 스테이지를 만드세요 . Select database, schema and stage에서 YAML 파일을 업로드할 데이터베이스, 스키마, 스테이지를 선택합니다. YAML 파일을 스테이지의 특정 경로에 업로드하려면 해당 경로를 지정하세요.
시맨틱 뷰 생성 후
뷰 다듬기
Semantic Studio 에서 논리 테이블, 팩트, 차원, 지표, 관계를 추가하거나 변경하세요.
뷰에 접근 권한 부여
시맨틱 뷰에 접근 권한 부여 를 참고하세요.
뷰 쿼리
Horizon Catalog Explorer에서 시맨틱 뷰를 보고 있다면 Query with SQL을 선택해 해당 뷰에 대한 쿼리를 구성하는 워크시트를 열 수 있습니다. 쿼리 구성 방법에 대한 정보는 시맨틱 뷰 쿼리 를 참고하세요.
문제 해결
- 시맨틱 뷰가 뷰 목록에 나열되지 않으면 모델 목록을 새로 고치세요(페이지 자체가 아니라).
- 시맨틱 뷰의 관계에서 오류가 발생하면 이러한 관계가 실제 데이터 구조와 일치하는지 확인하세요.
- 쿼리가 느리면 테이블 또는 열의 수를 줄이세요.
- 시맨틱 뷰를 사용할 때 Cortex Analyst가 예기치 않은 결과를 생성하면 시맨틱 뷰의 팩트, 차원, 지표를 검토하세요.
모범 사례
범위 설정, 효과적인 설명 작성, 관계와 지표 정의, 검증된 쿼리 · 커스텀 지침 · Cortex Search로 정확도 향상을 포함한 고품질 시맨틱 뷰 설계에 대한 포괄적인 지침은 시맨틱 뷰 모델링 모범 사례 를 참고하세요.