CREATE NOTEBOOK PROJECT¶
노트북 프로젝트 오브젝트를 생성합니다. :ref:`노트북 프로젝트 오브젝트(NPO) <label-nb_in_ws_schedule_npo>`는 데이터베이스 및 스키마에 Snowsight 작업 공간을 연결합니다. NPO가 생성되면 작업 공간의 모든 파일이 지정된 데이터베이스 및 스키마의 프로젝트에 복사됩니다. 그런 다음 :doc:`EXECUTE NOTEBOOK PROJECT </sql-reference/sql/execute-notebook-project>`를 사용하여 노트북 프로젝트를 실행할 수 있습니다. 스테이지 또는 비공개 작업 공간에서 노트북 프로젝트 오브젝트를 생성할 수 있습니다.
참고
공유 작업 공간에서 노트북 프로젝트 오브젝트 생성은 현재 지원되지 않습니다.
구문¶
비공개 작업 공간에서 노트북 프로젝트 오브젝트 생성:
CREATE NOTEBOOK PROJECT <database_name>.<schema_name>.<project_name>
FROM 'snow://workspace/<workspace_path>'
[ COMMENT = '<string_literal>' ];
스테이지에서 노트북 프로젝트 오브젝트 생성:
CREATE NOTEBOOK PROJECT [ IF NOT EXISTS ] <database_name>.<schema_name>.<project_name>
FROM '@<database_name>.<schema_name>.<stage_name>'
[ COMMENT = '<string_literal>' ];
필수 매개 변수¶
database_name.schema_name.project_name노트북 프로젝트의 정규화된 식별자입니다.
프로젝트 이름은 스키마 내에서 고유해야 합니다.
식별자는 알파벳 문자로 시작해야 하며 식별자를 큰따옴표로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없습니다(예:
"My Project").큰따옴표로 묶인 식별자는 대/소문자를 구분합니다.
FROM 'snow://workspace/{workspace_path' | '@database_name.schema_name.stage_name' }이 노트북 프로젝트를 지원하는 소스를 지정합니다.
snow://workspace/...URL을 사용하여 Snowsight 의 작업 공간 버전에서 노트북 프로젝트를 생성합니다.스테이지 참조(예:
'@my_db.my_schema.my_stage')를 사용하여 내부 또는 임시 스테이지에 배포한 노트북 파일에서 노트북 프로젝트를 생성합니다.
작업 공간에서 생성할 때, 값은 작업 공간 버전을 가리키는
snow://workspace/...URL이어야 합니다.경로에는 일반적으로 다음이 포함됩니다.
USER$ 또는 다른 소유자.
스키마.
작업 공간 이름.
Version (for example,
versions/last).
예:
snow://workspace/USER$.MY_SCHEMA."my_notebook_workspace"/versions/last
작업 공간 경로를 찾으려면 다음 명령을 실행합니다.
LIST 'snow://workspace/USER$.PUBLIC.DEFAULT$/versions/last/';
선택적 매개 변수¶
COMMENT = 'string_literal'노트북 프로젝트 오브젝트에 주석 또는 설명을 추가합니다.
주석을 사용하여 목적이나 워크플로를 설명합니다(예:
COMMENT = 'Notebook project for this workflow').주석은 오브젝트 메타데이터로 저장됩니다. 주석에 민감한 데이터를 포함하지 마세요.
액세스 제어 요구 사항¶
:code:`CREATE NOTEBOOK PROJECT`를 실행하려면 역할에 대상 데이터베이스와 스키마에서 오브젝트를 생성할 수 있는 충분한 권한이 있어야 합니다. 필수 권한은 다음과 같습니다.
데이터베이스에 대한 USAGE 또는 OWNERSHIP 권한.
스키마에 대한 USAGE 또는 OWNERSHIP 권한.
해당 스키마 내에서 오브젝트 생성을 허용하는 스키마에 대한 CREATE NOTEBOOK PROJECT 권한.
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
사용법 노트¶
OR REPLACE 및 IF NOT EXISTS 절은 상호 배타적입니다. 두 절을 같은 문에 함께 사용할 수 없습니다.
CREATE OR REPLACE <오브젝트> 문은 원자성입니다. 즉, 오브젝트가 바뀔 때 단일 트랜잭션으로 이전 오브젝트가 삭제되고 새 오브젝트가 생성됩니다.
A notebook project points to the specified workspace version indicated in the FROM clause. Using
versions/lastalways references the latest workspace version; using a fixed path references a static version.스테이지에서 노트북 프로젝트를 생성하는 경우 스테이지에서 버전을 추가하여 업데이트할 수 있습니다. 자세한 내용은 작업 공간에서 노트북 실행 및 예약하기 섹션을 참조하십시오.
설명이 포함된 프로젝트 이름을 사용하여 워크플로 오케스트레이션을 간소화합니다.
프로젝트를 바꾸면 저장된 작업 공간 경로와 메타데이터가 업데이트됩니다.
CREATE NOTEBOOK PROJECT명령을 실행하려면 노트북 셀 내부가 아닌 작업 공간의 SQL 파일 또는 SQL 워크시트에서 실행해야 합니다.
예¶
작업 공간에 대한 노트북 프로젝트를 만듭니다.
CREATE NOTEBOOK PROJECT analytics_db.workflow_schema.workflow_proj
FROM 'snow://workspace/USER$.workflow_schema."etl_workflow"/versions/last'
COMMENT = 'Notebook project for nightly ETL workflow';
스테이지에서 노트북 프로젝트를 생성합니다.
CREATE NOTEBOOK PROJECT analytics_db.workflow_schema.workflow_proj
FROM '@NOTEBOOK_PROJECT_STAGE'
COMMENT = 'Notebook project created from an internal or temporary stage';
IF NOT EXISTS를 사용하여 스테이지에서 노트북 프로젝트를 생성합니다.
CREATE NOTEBOOK PROJECT IF NOT EXISTS ML_TRAIN_NOTEBOOK3
FROM '@NOTEBOOK_PROJECT_STAGE1'
COMMENT = 'Notebook project created from an internal or temporary stage';