ノートブックを作成する

このトピックでは、ウェアハウスランタイムでSnowflakeノートブックを作成する方法について説明します。コンテナランタイムでノートブックを作成することもできます。詳細については、 Notebooks on Container Runtime for ML をご参照ください。

Snowflake Notebooks は Snowsight 内で対話的なセルベースの開発環境を提供します。これにより、 SQL とPythonを使用して単一のインターフェースでSnowflakeデータを操作できるようになり、データの探索、変換、また機械学習のためのワークフローの構築と反復が容易になります。

Snowsight からノートブックにアクセスでき、そこから 新しいロールを作成する または 既存のノートブックを開く にアクセスすることもできます。SQLを使ってノートブックを作成することもできます。詳細については、 CREATE NOTEBOOK をご参照ください。

前提条件

ランタイム

ウェアハウスランタイムを使用してノートブックを作成する場合は、名前、場所、ウェアハウスを指定します。このプレビューでは、ノートブック用の特定の事前構成済みランタイム環境を選択することもできます。Snowflakeのデフォルトのランタイム環境を使用すると、ノートブックが一貫した設定で実行され、再現可能な結果がサポートされます。このセットアップは初期構成を必要とせず、すぐに使用できます。

Snowflakeウェアハウスランタイム環境は次のコンポーネントで構成されています。

Snowflakeウェアハウスランタイムバージョン

Pythonランタイム

Streamlitバージョン

1.0

3.9

1.39.1

2.0

3.10

1.39.1

すべての新しいノートブックはPython 3.9ランタイム(ウェアハウスランタイム1.0)にデフォルト設定されます。

注釈

Snowflakeランタイムの上にパッケージをインストールした場合、Snowflakeは環境全体での互換性を保証できなくなります。

新しいロールを作成する

+ Notebook を選択して新しいノートブックを作成するか、 *.ipynb 拡張子のファイルをインポートすることができます。これは、Snowflake以外のアプリケーションから作成されたノートブックファイルである可能性があります。

新しいノートブックを作成するには、以下の手順に従ってください:

  1. Snowsight にサインインします。

  2. 左側のナビゲーションメニューで Projects » Notebooks を選択します。

  3. + Notebook を選択します。

  4. ノートブックの名前を入力します。Snowflakeは、スペースを含む名前を含め、入力されたノートブック名の大文字と小文字を正確に保持します。ノートブックの名前は大文字と小文字を区別します。

  5. Notebook location を選択します。これはノートブックを保存するデータベースとスキーマです。これらはノートブック作成後に変更することはできません。

    注釈

    Notebook location リストには Create Notebook ダイアログを開いた後に作成されたデータベースが表示されない場合があります。最近作成したデータベース、スキーマ、またはウェアハウスが見つからない場合は、ブラウザーウィンドウを再ロードしてみてください。

    ノートブック内のデータのクエリは、この場所に限定されません。Notebooksでは、アクセスできる場所であればどこでもデータをクエリできます。場所を指定するには、 USE WAREHOUSEUSE SCHEMA を実行します。

  6. Python環境として Run on warehouse を選択します。各ランタイムに含まれるものの詳細については、 Notebookランタイム をご参照ください。

    コンテナランタイムの詳細については、 Notebooks on Container Runtime for ML をご参照ください。

  7. (オプション) Query warehouse を選択して、ノートブックが発行した SQL とSnowparkのクエリを実行します。

  8. ノートブック固有のタスクを実行するには、 Notebook warehouse を選択します。Snowflakeでは、 SYSTEM$STREAMLIT_NOTEBOOK_WH、各アカウントでノートブックを実行するためにプロビジョニングされる、Snowflakeが管理するウェアハウスである $ を使用することを推奨しています。

  9. Create を選択してノートブックを作成し、開きます。

既存のファイルから新しいノートブックを作成するには、以下の手順に従ってください。

  1. + Notebook の隣にある下向き矢印を選択し、 Import .ipynb file を選択します。

  2. Snowflake以外のアプリケーションから作成されたノートブックファイルなど、インポートするファイルを開きます。

    注釈

    ノートブックがPythonパッケージをインポートしている場合、インポートしたノートブックを実行する前にそのパッケージをノートブックに追加する必要があります。ノートブックで使用するPythonパッケージをインポートする をご参照ください。インポートしたノートブックで使用しているパッケージが利用できない場合、コードが実行できない可能性があります。セルの追加については、 Snowflake Notebooks でコードを開発し、実行します。 をご参照ください。

SQL を使用してノートブックを作成します。

CREATE NOTEBOOK コマンドを使ってノートブックを作成できます。このコマンドを使うと、ノートブックの場所、メインファイル、バージョンソースをプログラムで定義することができます。しかし、 SQL を使ってノートブックを作成しても、そのノートブックにはライブバージョンは自動的に含まれません。EXECUTE NOTEBOOK コマンドを使ってノートブックを実行するには、ライブバージョンが必要です。

ライブバージョンのないノートブックを実行しようとした場合、またはノートブックを削除して再作成した場合、次のエラーが表示されることがあります。

Live version is not found.

これを解決するには、次の例のように、実行する前にノートブックにライブバージョンを追加します。

ALTER NOTEBOOK DB_NAME.SCHEMA_NAME.NOTEBOOK_NAME ADD LIVE VERSION FROM LAST;
Copy
  • DB_NAME はノートブックを含むデータベースの名前です。

  • SCHEMA_NAME はノートブックを含むスキーマの名前です。

  • NOTEBOOK_NAME はノートブックの名前です。

Gitリポジトリからノートブックを作成する

ノートブックの開発をGitリポジトリと同期させることができます。そうすれば、そのGitリポジトリのノートブックから Snowflake Notebooks を作成することができます。

Gitでファイルからノートブックを作成するには、 Gitリポジトリのファイルからノートブックを作成する をご参照ください。

既存のノートブックを複製する

既存の Snowflake Notebooks を複製することができます。ノートブックの複製は、例えば、元のノートブックのバージョンを変更せずにコードの変更をテストしたい場合に便利です。

ノートブックを複製すると、コピーされたノートブックは元のノートブックと同じロールとウェアハウスで作成され、元のノートブックと同じデータベースとスキーマに格納されます。このため、ノートブックを複製して別のデータベースやスキーマに移動したり、所有者を変更したりすることはできません。

ノートブックを複製するには、次の手順を実行します。

  1. Snowsight にサインインします。

  2. Projects » Notebooks を選択します。

  3. 複製したいノートブックを開きます。

  4. 垂直省略記号 ワークシートのその他のアクション メニューを選択し、 Duplicate を選択します。

  5. (オプション) 複製ノートブックの名前を入力し、 Duplicate を選択します。

  6. 確認ダイアログで、 Close を選択して元のノートブックに戻るか、 Open notebook を選択して複製ノートブックを開きます。

既存のノートブックを開く

既存のノートブックを開くには、以下の手順に従ってください:

  1. Snowsight にサインインします。

  2. Notebooks を選択します。

    注釈

    最近使用した Notebooks も Snowsight に表示されます。Recently viewed の下で、 Notebooks を選択します。

  3. ノートブックのリストをレビューします。

    アクティブなロールが所有するノートブック、またはアクティブなロールが継承したロールが所有するノートブックがすべて表示されます。各 Notebooks には以下の情報が表示されます。

    • Title: ノートブックのタイトル

    • Viewed: ノートブックの最終表示時刻

    • Updated: ノートブックが最後に実行された時間

    • Environment: ノートブックのランタイム環境 (Container Runtime または Warehouse Runtime)

    • Location: ノートブックのデータベースとスキーマの場所

    • Owner: ノートブックの持ち主

  4. ノートブックを選択して、編集するために開きます。

    ノートブックの編集についての詳細は、 Snowflake Notebooks でコードを開発し、実行します。 をご参照ください。

ノートブックを開くと、ノートブック内のセルを最後に実行したときにキャッシュされた結果が表示されます。ノートブックはデフォルトで Not connected の状態ですが、この状態を選択するか、セルを実行すると、ノートブックはバーチャルウェアハウスに接続されます。