Snowflake Notebooksの使用

Snowflake CLI には、コマンドラインから Snowflake notebooks を作成または実行できるようになる以下の snow notebook コマンドが含まれます。

ノートブックを作成する

注釈

バージョン3.4.0以降、 Snowflake CLI は snow notebook deploy コマンドを snow notebook create コマンドの代わりに追加しました。下位互換性をサポートするため、 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

以下のテーブルは、ノートブック プロジェクト定義 のプロパティについて説明しています。

ノートブックプロジェクト定義プロパティ

プロパティ

定義

タイプ

required, string

notebook でなければなりません。

query_warehouse

required, string

ノートブックをホストするSnowflakeウェアハウス。

notebook_file

required, string

ノートブックファイルへのパス。

アーティファクト

必須文字列シーケンス

ステージにアップロードされたファイルのリスト。ノートブックファイルはこのリストに含める必要があります。

stage_path

optional, string

アーティファクトが保存されるステージへのパス。デフォルト: notebooks/<notebook_id>

compute_pool

optional, string

コンテナー化されたノートブック が使用するコンピューティングプール。

注釈

コンテナー化されたノートブックは現在、 PuPr にあります。

runtime_name

optional, string

コンテナー化されたノートブック で使用するContainer Runtimeの名前。以下の値が有効です。

  • CPU ランタイム用 SYSTEM$BASIC_RUNTIME

  • GPU ランタイム用 SYSTEM$GPU_RUNTIME

注釈

コンテナー化されたノートブックは現在、 PuPr にあります。

識別子

optional, string

エンティティの任意の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_notebooks という名前の新しいノートブックを作成します。

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.