SQL을 사용하여 작업 공간에서 노트북 실행하기

|sf-web-interface|는 노트북의 비대화형(헤드리스) 실행을 지원합니다. 이를 통해 |sf-web-interface|를 열지 않고도 반복 일정 없이 노트북의 프로그래밍 방식 실행을 트리거할 수 있습니다.

헤드리스 실행은 Airflow, Prefect, Dagster, CI/CD 파이프라인과 같은 도구 또는 노트북을 프로그래밍 방식으로 실행해야 하는 외부 시스템에 의해 오케스트레이션되는 작업, 예약된 작업, 워크플로를 위해 설계되었습니다.

노트북 프로젝트 생성

노트북 프로젝트가 아직 존재하지 않는 경우 CREATENOTEBOOKPROJECT 명령을 사용하여 생성합니다.

CREATE NOTEBOOK PROJECT <database_name>.<schema_name>.<project_name>
  FROM 'snow://workspace/<workspace_path>'
  COMMENT = 'Notebook project for this workflow';
Copy

작업 공간 경로를 찾는 방법은 다음과 같습니다.

  1. Snowsight 에 로그인합니다.

  2. 탐색 메뉴에서 Projects » Workspaces 를 선택합니다.

  3. 작업 공간을 선택합니다.

  4. 핀 아이콘을 선택합니다.

  5. 위치를 복사합니다(예: snow://workspace/USER$.schema."workspacename"/versions/head).

SQL을 사용하여 노트북 실행

EXECUTE NOTEBOOK PROJECT 명령을 사용하여 워크시트, SQL 파일 또는 임의의 SQL 클라이언트에서 노트북을 실행할 수 있습니다.

EXECUTE NOTEBOOK PROJECT <database_name>.<schema_name>.<project_name>
  MAIN_FILE = '<notebook_file_name>.ipynb'
  COMPUTE_POOL = '<compute_pool_name>'
  RUNTIME = '<runtime_version>'      -- e.g., 'V2.2-CPU-PY3.12'
  QUERY_WAREHOUSE = '<warehouse_name>'
  EXTERNAL_ACCESS_INTEGRATIONS = ('<integration_name>');
Copy

EXECUTE NOTEBOOK PROJECT "sales_detection_db"."schema"."DEFAULT_PROJ_B32BCFD4"
  COMPUTE_POOL = "test_X_CPU"
  MAIN_FILE = 'notebook_file.ipynb'
  RUNTIME = 'V2.2-CPU-PY3.10'
  QUERY_WAREHOUSE = "ENG_INFRA_WH"
  EXTERNAL_ACCESS_INTEGRATIONS = ('test_EAI');
Copy

실행 보기

이 명령은 연결된 노트북 프로젝트에 저장된 버전을 사용하여 노트북과 해당 종속성을 실행합니다. 실행 결과를 보려면 |sf-web-interface|의 해당 데이터베이스 및 스키마에서 노트북 프로젝트로 이동합니다.