Snowflake Notebooks 사용하기

Snowflake CLI 에는 명령줄에서 Snowflake 노트북 을 생성하고 실행할 수 있는 다음과 같은 snow notebook 명령이 포함되어 있습니다.

노트북 만들기

참고

버전 3.4.0부터 Snowflake CLI 는 snow notebook create 명령을 대체하기 위해 snow notebook deploy 명령을 추가했습니다. 이전 버전과의 호환성을 지원하기 위해 snow notebook create 명령을 사용해 노트북을 만들 수 있지만, Snowflake에서는 새로운 노트북 배포 및 만들기 프로시저를 사용하는 것이 좋습니다.

snow notebook create 명령은 스테이지의 기존 노트북에서 노트북을 생성합니다. 이 명령은 새 노트북에 대한 링크를 반환합니다. 다음 예제는 지정된 스테이지 노트북에서 MY_NOTEBOOK 노트북을 생성합니다.

snow notebook create MY_NOTEBOOK -f @MY_STAGE/path/to/notebook.ipynb
Copy

이 명령은 연결에 대해 정의된 기본 웨어하우스에 노트북을 생성합니다. --warehouse 옵션을 사용하여 대체 웨어하우스를 지정하거나 연결에 기본 웨어하우스가 정의되어 있지 않은 경우 웨어하우스를 지정할 수 있습니다.

노트북 배포 및 만들기

snow notebook deploy 명령은 로컬 파일을 스테이지에 업로드하고 선택한 데이터베이스와 스키마 안에 새 Notebook 오브젝트를 만듭니다. 프로젝트 정의 파일에는 기본 노트북 파일과 쿼리 웨어하우스가 지정되어야 합니다. --replace 옵션은 지정된 Notebook 오브젝트가 이미 있는 경우 이를 대체합니다.

Snowflake의 각 노트북에는 snowflake.yml 프로젝트 정의 파일이 포함되어야 합니다.

다음 예에서는 샘플 snowflake.yml 노트북 프로젝트 정의 파일을 보여줍니다.

definition_version: 2
entities:
  my_notebook:
    type: notebook
    query_warehouse: xsmall
    notebook_file: notebook.ipynb
    artifacts:
    - notebook.ipynb
    - data.csv
Copy

다음 테이블은 노트북 프로젝트 정의 의 속성을 설명합니다.

노트북 프로젝트 정의 속성

속성

정의

유형

필수, 문자열

notebook 여야 합니다.

query_warehouse

필수, 문자열

노트북을 호스트할 Snowflake 웨어하우스입니다.

notebook_file

필수, 문자열

노트북 파일의 경로입니다.

아티팩트

필수, 문자열 시퀀스

스테이지에 업로드된 파일 목록입니다. 노트북 파일이 이 목록에 포함되어 있어야 합니다.

stage_path

선택 사항, 문자열

아티팩트가 저장될 스테이지의 경로입니다. 기본값: notebooks/<notebook_id>.

compute_pool

선택 사항, 문자열

컨테이너화된 노트북 에서 사용할 컴퓨팅 풀입니다.

참고

컨테이너화된 노트북은 현재 PuPr 에 있습니다.

runtime_name

선택 사항, 문자열

컨테이너화된 노트북 에서 사용할 Container Runtime의 이름입니다. 다음 값이 유효합니다.

  • CPU 런타임의 경우 SYSTEM$BASIC_RUNTIME

  • GPU 런타임의 경우 SYSTEM$GPU_RUNTIME

참고

컨테이너화된 노트북은 현재 PuPr 에 있습니다.

식별자

선택 사항, 문자열

엔터티에 대한 선택적 Snowflake 식별자입니다. 값은 다음 형식일 수 있습니다.

  • 문자열 식별자 텍스트

    identifier: my-notebook-id
    
    Copy

    따옴표로 묶지 않은 식별자와 따옴표로 묶은 식별자가 모두 지원됩니다. 따옴표로 묶인 식별자를 사용하려면 YAML 값에 따옴표(예: ’”My Notebook”’)를 포함합니다.

  • 오브젝트

    identifier:
      name: my-notebook-id
      schema: my-schema # optional
      database: my-db # optional
    
    Copy

    참고

    schema 또는 database 를 지정하고 name 속성에 정규화된 이름(예: mydb.schema1.my-notebook)을 사용하면 오류가 발생합니다.

다음은 프로젝트 정의 파일에 지정된 파일을 업로드하고 my_notebook 이라는 새 노트북을 만드는 예제입니다.

snow notebook deploy my_notebook
Copy
Uploading artifacts to @notebooks/my_notebook
  Creating stage notebooks if not exists
  Uploading artifacts
Creating notebook my_notebook
Notebook successfully deployed and available under https://snowflake.com/provider-deduced-from-connection/#/notebooks/DB.SCHEMA.MY_NOTEBOOK

노트북 실행하기

snow notebook execute 명령은 헤드리스 모드에서 노트북을 실행합니다. 현재 해당 명령은 노트북이 성공적으로 실행되었는지 여부를 나타내는 메시지만 반환합니다.

snow notebook execute MY_NOTEBOOK
Copy
Notebook MY_NOTEBOOK executed.