SnowflakeのPythonデモ API

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

このライブラリを使えば、これらのタスクを実行することができます。

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

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

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

前提条件

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

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

    • 3.9

    • 3.10

    • 3.11

    • 3.12

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

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

  4. インポート snowflake.demos

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 のような対話型シェルを開きます。

  1. 以下のコマンドを実行します(Pythonの環境によって異なるかもしれません)。

    python3
    
    Copy
  2. REPL セッションで、ライブラリと関連関数をインポートするには、以下のコードを実行します。

    from snowflake.demos import help, load_demo, teardown
    
    Copy

利用可能デモのリスト

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

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

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

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

現在の利用可能リスト

注釈

以下のコンテンツはSnowflakeではサポートされていません。すべてのコードは「AS IS」条件で保証なしに提供されます。

Snowflake Demos API は現在、以下のデモのリストで動作します。

demo_name

title

num_steps

analysis-churn-notebooks

Snowflake Notebooksを使用したデータ分析と解約予測

2

analytics-cortex

Snowflake Cortexを使用したカスタマーレビュー分析

1

anthropic-cortex

Snowflake CortexでAnthropicを使い始める

1

external-access-nb

外部エンドポイントへのアクセス

1

get-started-partitioned-models

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

1

get-started-snowapi-nb

Python API を使ったSnowflakeオブジェクトの作成

1

get-started-snowpark-ws-nb

Snowflake NotebooksとPython WorksheetsでSnowparkを使い始める

1

get-started-snowflake-ml

Snowflake ML を始めましょう

4

ingest-json-data

パブリック JSON の取り込み

1

intro-snowpark-pandas

Snowpark pandasの紹介

1

intro-to-feature-store-nb

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

1

intro-to-snowflake-nb

初めてのノートブックプロジェクト

1

load-csv-to-stage

S3から CSV をロードする

1

ref-cells-and-vars

参照セルと変数

1

visual-data-stories

Snowflake Notebooksを使ったビジュアルデータストーリー

1

working-with-files

ファイルの操作

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 タブの下にあるノートブックに手動でアクセスしてください。

デモ 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
    
  • デモの特定のステップのノートブック 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