SnowflakeのPythonデモ API

Snowflake Python Demos ライブラリ (snowflake.demos) は、データベース、スキーマ、ロール、アクセス許可、データセットアクセスの構成などの環境セットアップタスクを自動化することで、 Snowflake Notebooks 用のデモを迅速に作成し、 Snowflake Notebooks を使い始めるのを効率化するのに役立ちます。

このライブラリを使うと、以下のことができます。

  • Snowflake環境に Snowflake Notebooks デモをロードしてセットアップします。

  • インタラクティブNotebooksをステップバイステップで体験してください。

  • 使い終わったら、リソースを簡単に取り出せます。

前提条件

Snowflake Demos API を開始する前に、以下の手順を完了してください。

  1. サポートされているPythonバージョン のいずれかをインストールしていることを確認してください。

  2. Snowflake Demosライブラリをインストールします。

  3. デフォルトのSnowflake接続のセットアップ

  4. インポート snowflake.demos

サポートされているPythonバージョン

サポートされているPythonのバージョンは次のとおりです。

  • 3.9

  • 3.10

  • 3.11

  • 3.12

Snowflake Demosライブラリをインストールします。

condaまたは仮想環境で使用するために、Snowflake Demosライブラリをインストールすることができます。ライブラリをセットアップするには、次のようにします。

  1. Python環境をアクティブ化します

  2. 以下の pip install コマンドを実行してライブラリをインストールします。

    pip install snowflake.demos
    
    Copy

デフォルトのSnowflake接続のセットアップ

Snowflake Demos API は、 Snowflake Python Connector のデフォルト接続を使用します。この接続を構成するには、 デフォルト接続の設定 の指示に従ってください。

例えば、Snowflake config.toml ファイルのデフォルト接続として名前付き接続を指定するには、 config.toml ファイルに以下のようにデフォルト接続名を追加します。

default_connection_name = '<connection_name>'
Copy

TOML 構成ファイルでの接続定義の指定に関する情報については、 connections.toml ファイルを使用した接続 を参照してください。

インポート snowflake.demos

ターミナルでライブラリを使うには、以下のコマンドを実行することで Python 標準の REPL のような対話型シェルを開くことができます(Python の環境によって異なるかもしれません)。

python3
Copy

REPL セッションで、以下のコードを実行してライブラリと関連関数をインポートします。

from snowflake.demos import help, load_demo, teardown
Copy

利用可能デモのリスト

ライブラリをインポートした後、 help() 関数を使用して、ロードして探索を開始できる利用可能デモのリストを表示できます。この関数は、以下の列を持つテーブルを返します。

  • demo_name - デモ名を表すダッシュ区切りの文字列。

  • title - 人間が読めるデモ名のタイトル。

  • num_steps - デモのステップ数。

現在の利用可能リスト

Snowflake demos API は現在、以下のリストをサポートしています。

demo_name

タイトル

num_steps

get-started-snowpark-ws-nb

SnowflakeノートブックとPythonワークシートでSnowparkを始めましょう

1

get-started-snowflake-ml

Snowflake ML を始めましょう

4

analysis-churn-notebooks

Snowflakeノートブックによるデータ分析と解約予測

2

get-started-container-runtime

Snowflake Container Runtimeの使用方法

1

intro-to-feature-store-nb

Snowflake Notebooksを使用した特徴ストアの紹介

1

get-started-partitioned-models

パーティショニングされたモデルとSnowflake Model Registryを使い始めましょう

1

デモの操作

前提条件 を完了した後、Snowflake Demos API を使用して、以下のようにデモの作業を開始できます。

デモのロードと探索

Snowflakeで特定のデモをロードし、その関連リソースをセットアップするには、 help() の出力にあるように、サポートされている任意のデモの demo_name を引数に指定して load_demo() を呼び出します。例:

load_demo('get-started-snowflake-ml')
Copy

Tip

デモへのリファレンスをオブジェクトとして保存するには、 load_demo() の結果を変数に代入します。

demo = load_demo('get-started-snowflake-ml')
Copy

結果を変数に代入することは、マルチステップのデモ(num_steps > 1)を扱う場合に必要です。このリファレンスは、 show_next() または show(step=<番号>) を呼び出して、デモの次のノートブックに移動するために必要です。

また、このリファレンスは、後で素早くデモを解体するときにも使えます。

この関数は次を実行します。

  • 初めてデモをロードする場合、Snowflakeへの接続を作成します。

  • 必要なノートブックを作成します。

  • load_demo() を変数に代入していない場合、デモの最初のステップ(ステップ 1)の Notebooks URL を表示します。

    • load_demo() を変数に代入した場合、最初のノートブック URL を取得するには demo.show() を呼び出す必要があります。

出力は次のようになります。

Connecting to Snowflake...✅
Using ACCOUNTADMIN role...✅
Creating Database SNOWFLAKE_DEMO_DB...✅
Creating Schema SNOWFLAKE_DEMO_SCHEMA...✅
Creating Warehouse SNOWFLAKE_DEMO_WH...✅
Creating Stage SNOWFLAKE_DEMO_STAGE...✅
Uploading files to stage SNOWFLAKE_DEMO_STAGE/get-started-snowflake-ml and creating notebooks...
Creating notebook get_started_snowflake_ml_start_here...✅
Creating notebook get_started_snowflake_ml_sf_nb_snowflake_ml_feature_transformations...✅
Creating notebook get_started_snowflake_ml_sf_nb_snowflake_ml_model_training_inference...✅
Creating notebook get_started_snowflake_ml_sf_nb_snowpark_ml_adv_mlops...✅
Running setup for this demo...✅

注釈

印刷された Notebooks URLs には既知の問題があります。URL が直接開かない場合は、新しいブラウザのタブにコピー&ペーストするか、 Snowsight の Notebooks タブの下にある Notebooks に手動でアクセスしてください。

デモ URL の表示

show() 関数を使用して、デモの現在または特定のステップへの URL を取得できます。

デモの現在のステップのノートブックの URL を取得するには、まず load_demo() の結果を demo のような変数に代入し、引数なしで show() を呼び出します。

demo.show()
Copy

出力は次のようになります。

Showing step 1.
Please copy and paste this url in your web browser to open the notebook:
https://app.snowflake.com/myorg/myaccount/#/notebooks/SNOWFLAKE_DEMO_DB.SNOWFLAKE_DEMO_SCHEMA.GET_STARTED_SNOWFLAKE_ML_START_HERE

デモの特定のステップの Notebooks URL を取得するには、引数 step にステップ番号を指定して show() に渡します。

demo.show(step=1)
Copy

マルチステップデモで次のステップの Notebooks URL を取得するには、 show_next() 関数を使用します。

demo.show_next()
Copy

デモとそのリソースの削除

セットアップしたデモの探索が終わったら、作成したリソース、データセット、ノートブックをすべてクリーンアップするとよいでしょう。

ひとつのデモとそれに関連するリソースを削除するには、まず load_demo() の結果を demo のような変数に代入し、その上で teardown() を呼び出します。

demo.teardown()
Copy

セットアップされたすべてのデモと関連リソースを削除するには、トップレベルの関数として teardown() を呼び出します。

teardown()
Copy