EXECUTE NOTEBOOK PROJECT¶
노트북 편집기 외부의 노트북 프로젝트에 저장된 노트북을 실행합니다. 이 명령은 비대화형(헤드리스) 모드에서 노트북을 실행하며 다음에서 실행할 수 있습니다.
워크시트 또는 SQL 파일.
기타 Snowflake 실행 파일(작업).
SQL을 발급하는 외부 오케스트레이터(예: Airflow, Prefect, Dagster, CI/CD시스템).
이 명령은 사용자가 구성한 런타임, 컴퓨팅 풀, 웨어하우스 및 외부 액세스 통합을 사용하여 사용자가 :code:`MAIN_FILE`로 지정한 노트북 파일을 실행합니다. Container Runtime에서 실행되는 노트북은 컴퓨팅 풀에서 실행되는 반면 SQL/Snowpark 쿼리는 웨어하우스에서 실행됩니다.
구문¶
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>' [ , ... ]) ];
필수 매개 변수¶
선택적 매개 변수¶
프로젝트 및 런타임 구성 방식에 따라 이러한 매개 변수 중 일부는 실제로 필요할 수 있습니다. 아래 설명은 해당 목적과 일반적인 사용법을 정의합니다.
MAIN_FILE = 'notebook_file_name.ipynb'실행할 작업 공간 내의 기본 노트북 파일을 지정합니다(예:
'main.ipynb').프로젝트에서 참조하는 작업 공간에 있는
.ipynb노트북 파일이어야 합니다.경로는 작업 공간 루트를 기준으로 합니다.
COMPUTE_POOL = 'compute_pool_name'Container Runtime에서 노트북을 실행할 때 사용되는 컴퓨팅 풀을 지정합니다.
노트북 런타임이 |spcs|를 사용할 때 필요합니다.
RUNTIME = 'runtime_version'노트북을 실행하기 위한 런타임 이미지/버전을 지정합니다(예:
'V2.2-CPU-PY3.12').노트북 실행에 사용되는 Python 버전과 실행 환경을 결정합니다.
Container Runtime 이미지(CPU또는 GPU) 또는 Warehouse Runtime 베리언트에 해당합니다.
QUERY_WAREHOUSE = 'warehouse_name'노트북에서 SQL 및 Snowpark 쿼리를 실행하는 데 사용되는 가상 웨어하우스를 지정합니다.
노트북이 SQL 또는 Snowpark 작업을 수행하는 경우 필요하며, 달리 구성된 웨어하우스가 없습니다.
Container Runtime을 사용할 때 웨어하우스는 쿼리 푸시다운을 처리하며, Python은 컴퓨팅 풀에서 실행됩니다.
EXTERNAL_ACCESS_INTEGRATIONS = ( integration_name [ , ... ] )노트북이 실행 중에 사용할 수 있는 하나 이상의 외부 액세스 통합을 지정합니다.
노트북이 아웃바운드 네트워크를 호출할 때 필요합니다(예: 외부 APIs).
각 통합 이름은 기존 외부 액세스 통합을 참조해야 합니다.
괄호 안의 쉼표로 구분된 목록으로 여러 외부 액세스 통합을 지정할 수 있습니다.
예:
EXTERNAL_ACCESS_INTEGRATIONS = ('http_eai', 's3_eai');
액세스 제어 요구 사항¶
:code:`EXECUTE NOTEBOOK PROJECT`를 실행하는 역할에는 노트북 프로젝트에 대한 충분한 권한이 있어야 합니다.
또한, 실행 역할에는 다음에 대한 USAGE/OWNERSHIP 권한이 있어야 합니다.
쿼리 웨어하우스.
컴퓨팅 풀.
노트북 프로젝트가 포함된 데이터베이스 및 스키마.
명령이 참조하는 작업 및 외부 액세스 통합.
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
사용법 노트¶
작업에서 :code:`EXECUTE NOTEBOOK PROJECT`를 호출하여 대규모 워크플로의 일부로 노트북 실행을 활성화할 수 있습니다.
EXECUTE NOTEBOOK PROJECT 명령을 사용하여 노트북을 실행하는 경우:
노트북 코드는 RUNTIME 매개 변수에 의해 지정된 런타임을 사용하여 COMPUTE_POOL 매개 변수에 의해 지정된 컴퓨팅 풀에서 실행됩니다.
SQL 및 Snowpark 쿼리는 QUERY_WAREHOUSE 매개 변수에 지정된 가상 웨어하우스를 사용하여 실행됩니다.
예¶
모든 매개 변수를 사용하여 노트북 프로젝트를 실행합니다.
EXECUTE NOTEBOOK PROJECT "sales_detection_db"."schema"."DEFAULT_PROJ_B32BCFD4"
MAIN_FILE = 'notebook_file.ipynb'
COMPUTE_POOL = 'test_X_CPU'
RUNTIME = 'V2.2-CPU-PY3.10'
QUERY_WAREHOUSE = 'ENG_INFRA_WH'
EXTERNAL_ACCESS_INTEGRATIONS = ('test_EAI');
웨어하우스만 사용하여 노트북 프로젝트를 실행합니다.
EXECUTE NOTEBOOK PROJECT analytics_db.workflow_schema.workflow_proj
MAIN_FILE = 'jobs/nightly_etl.ipynb'
QUERY_WAREHOUSE = 'ETL_WH';