CREATE NOTEBOOK PROJECT

노트북 프로젝트 오브젝트를 생성합니다. :ref:`노트북 프로젝트 오브젝트(NPO) <label-nb_in_ws_schedule_npo>`는 데이터베이스 및 스키마에 Snowsight 작업 공간을 연결합니다. NPO가 생성되면 작업 공간의 모든 파일이 지정된 데이터베이스 및 스키마의 프로젝트에 복사됩니다. 그런 다음 :doc:`EXECUTE NOTEBOOK PROJECT </sql-reference/sql/execute-notebook-project>`를 사용하여 노트북 프로젝트를 실행할 수 있습니다. 스테이지 또는 비공개 작업 공간에서 노트북 프로젝트 오브젝트를 생성할 수 있습니다.

참고

공유 작업 공간에서 노트북 프로젝트 오브젝트 생성은 현재 지원되지 않습니다.

참고 항목:

EXECUTE NOTEBOOK PROJECT, SHOW NOTEBOOK PROJECTS, CREATE NOTEBOOK, EXECUTE NOTEBOOK

구문

비공개 작업 공간에서 노트북 프로젝트 오브젝트 생성:

CREATE NOTEBOOK PROJECT <database_name>.<schema_name>.<project_name>
  FROM 'snow://workspace/<workspace_path>'
  [ COMMENT = '<string_literal>' ];
Copy

스테이지에서 노트북 프로젝트 오브젝트 생성:

CREATE NOTEBOOK PROJECT [ IF NOT EXISTS ] <database_name>.<schema_name>.<project_name>
  FROM '@<database_name>.<schema_name>.<stage_name>'
  [ COMMENT = '<string_literal>' ];
Copy

필수 매개 변수

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/';
Copy

선택적 매개 변수

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/last always 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';
Copy

스테이지에서 노트북 프로젝트를 생성합니다.

CREATE NOTEBOOK PROJECT analytics_db.workflow_schema.workflow_proj
  FROM '@NOTEBOOK_PROJECT_STAGE'
  COMMENT = 'Notebook project created from an internal or temporary stage';
Copy

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';
Copy