CREATE NOTEBOOK

새로운 Snowflake 노트북 을 만들거나 기존 노트북을 바꿉니다.

구문

CREATE [ OR REPLACE ] NOTEBOOK [ IF NOT EXISTS ] <name>
  [ FROM '<source_location>' ]
  [ MAIN_FILE = '<main_file_name>' ]
  [ COMMENT = '<string_literal>' ]
  [ QUERY_WAREHOUSE = <warehouse_to_run_nb_and_sql_queries_in> ]
  [ IDLE_AUTO_SHUTDOWN_TIME_SECONDS = <number_of_seconds> ]
  [ RUNTIME_NAME = '<runtime_name>' ]
  [ COMPUTE_POOL = '<compute_pool_name>' ]
  [ WAREHOUSE = <warehouse_to_run_notebook_python_runtime> ]
Copy

필수 매개 변수

name

노트북의 식별자(즉, 이름)를 지정하는 문자열로, 노트북이 생성되는 스키마에 대해 고유해야 합니다.

또한, 식별자는 알파벳 문자로 시작해야 하며 전체 식별자 문자열을 큰따옴표(예: "My object")로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없습니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.

자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.

선택적 매개 변수

FROM 'source_location'

지정된 스테이지 위치에 있는 .ipynb 파일에서 노트북을 만들도록 지정합니다. 스테이지에 있는 파일로 노트북을 생성하려면 source_location 을 파일의 스테이지 위치로 설정하고 MAIN_FILE 매개 변수를 파일 이름으로 설정합니다.

이 매개 변수를 지정하지 않으면 템플릿 노트북에서 노트북 오브젝트가 만들어집니다.

MAIN_FILE = 'main_file_name'

노트북 파일 이름을 위한 사용자 지정 식별자. 이 이름은 name 매개 변수에 지정된 노트북 오브젝트 이름과 별개입니다. 이 파일은 ipynb 파일이어야 합니다.

QUERY_WAREHOUSE = warehouse_name

노트북의 SQL 쿼리가 실행되는 웨어하우스를 지정합니다. 이 매개 변수는 선택 사항입니다. 하지만 EXECUTE NOTEBOOK 명령을 실행해야 합니다.

IDLE_AUTO_SHUTDOWN_TIME_SECONDS = number_of_seconds

노트북이 자동으로 종료되기 전의 유휴 시간(초)입니다. 이 매개 변수는 Container Runtime에서 실행되는 노트북에서만 사용할 수 있습니다. 값은 60~259200(72시간) 사이의 정수여야 합니다.

기본값: 3,600초

RUNTIME_NAME = runtime_name
  • `’SYSTEM$WAREHOUSE_RUNTIME’`(기본값): Snowflake 웨어하우스에서 노트북을 실행합니다(Warehouse Runtime만 해당).

  • 'SYSTEM$BASIC_RUNTIME': CPU 런타임을 사용하여 |spcs|(SPCS) 컨테이너에서 노트북을 실행합니다(Container Runtime만 해당).

  • 'SYSTEM$GPU_RUNTIME': GPU 런타임을 사용하여 |spcs|(SPCS) 컨테이너에서 노트북을 실행합니다(Container Runtime만 해당).

Container Runtime(SYSTEM$BASIC_RUNTIME 또는 SYSTEM$GPU_RUNTIME)을 지정하는 경우 COMPUTE_POOL 매개 변수도 포함해야 합니다. `SYSTEM$WAREHOUSE_RUNTIME`은 Warehouse Runtime 전용입니다.

COMPUTE_POOL = compute_pool_name

(Container Runtime만 해당) Container Runtime을 사용할 때 노트북을 호스팅하는 컴퓨팅 풀을 지정합니다. 이 매개 변수는 RUNTIME_NAME`이 `SYSTEM$BASIC_RUNTIME 또는 `SYSTEM$GPU_RUNTIME`으로 설정된 경우에 필요합니다.

컴퓨팅 풀에 대한 자세한 내용은 Snowpark Container Services: 컴퓨팅 풀 작업하기 섹션을 참조하십시오.

WAREHOUSE = warehouse_name

웨어하우스는 다음을 실행하는 데 사용됩니다.

  • Warehouse Runtime의 경우: 노트북 커널과 SQL 쿼리(Snowpark 푸시다운 컴퓨팅 포함).

  • Container Runtime의 경우: SQL 쿼리만 해당(Snowpark 푸시다운 컴퓨팅 포함). 노트북 커널은 컴퓨팅 풀에서 실행됩니다.

If you don’t specify a warehouse when you create a notebook, Snowflake uses the default warehouse defined by the schema lineage parameter DEFAULT_STREAMLIT_NOTEBOOK_WAREHOUSE. You can set this parameter at the schema, database, or account lineage level to define a preferred warehouse.

액세스 제어 요구 사항

이 작업을 실행하는 데 사용되는 역할 에는 최소한 다음 권한 이 있어야 합니다.

권한

오브젝트

USAGE

데이터베이스

USAGE 또는 OWNERSHIP

스키마

CREATE NOTEBOOK

스키마

스키마의 오브젝트에 대한 작업을 수행하려면 상위 데이터베이스에 대한 하나 이상의 권한과 상위 스키마에 대한 하나 이상의 권한이 필요합니다.

지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.

보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.

사용법 노트

  • Container Runtime을 사용하는 노트북을 만들 때 노트북은 Snowpark Container Services 환경 내부에서 실행됩니다. Container Runtime 노트북은 RUNTIME_NAMECOMPUTE_POOL 매개 변수를 모두 지정해야 합니다.

  • 메타데이터 관련:

    주의

    고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오.

  • OR REPLACE 및 IF NOT EXISTS 절은 상호 배타적입니다. 두 절을 같은 문에 함께 사용할 수 없습니다.

  • CREATE OR REPLACE <오브젝트> 문은 원자성입니다. 즉, 오브젝트가 바뀔 때 단일 트랜잭션으로 이전 오브젝트가 삭제되고 새 오브젝트가 생성됩니다.

다음은 이름이 mynotebook 인 노트북을 생성합니다.

CREATE NOTEBOOK mynotebook;
Copy

QUERY_WAREHOUSE 매개 변수는 선택 사항이지만, 새 노트북을 생성할 때 지정해 두면 웨어하우스에서 EXECUTE NOTEBOOK 을 실행할 수 있습니다.

CREATE NOTEBOOK mynotebook
 QUERY_WAREHOUSE = my_warehouse;
Copy

다음 예제는 스테이지의 ipynb 파일에서 노트북을 만드는 예제입니다.

CREATE NOTEBOOK mynotebook
 FROM '@my_db.my_schema.my_stage'
 MAIN_FILE = 'my_notebook_file.ipynb'
 QUERY_WAREHOUSE = my_warehouse;
Copy

The following example creates a notebook using Container Runtime (CPU):

CREATE NOTEBOOK my_cpu_notebook
  RUNTIME_NAME = 'SYSTEM$BASIC_RUNTIME'
  COMPUTE_POOL = 'my_compute_pool';
Copy

The following example creates a notebook using Container Runtime (GPU):

CREATE NOTEBOOK my_gpu_notebook
  RUNTIME_NAME = 'SYSTEM$GPU_RUNTIME'
  COMPUTE_POOL = 'gpu_pool_1';
Copy