Snowflake Notebooksについて

Snowflake Notebooks は、Python、 SQL 、Markdown用の対話的なセルベースのプログラミング環境を提供する、 Snowsight の統一開発インターフェイスです。Notebooksでは、Snowflakeデータを活用して、探索的データ分析、機械学習モデルの開発、その他のデータサイエンスおよびデータエンジニアリングのワークフローを、すべて同じインターフェイス内で実行できます。

  • すでにSnowflakeにあるデータの探索と実験、またはローカルファイル、外部クラウドストレージ、 Snowflake Marketplace からのデータセットから新しいデータをSnowflakeにアップロードします。

  • SQLまたはPythonコードを記述し、セルごとの開発と実行で結果をすばやく比較できます。

  • 埋め込みStreamlit可視化や、Altair、Matplotlib、seabornなどのライブラリを使って、データをインタラクティブに可視化できます。

  • Gitと統合し、効果的なバージョン管理でコラボレーション。 ノートブックと Git リポジトリの同期 をご参照ください。

  • 結果を文脈化し、Markdownのセルとチャートで異なる結果についてメモを作成します。

  • パイプラインを自動化するために、スケジュールでNotebooksを実行します。 ノートブック実行のスケジュール をご参照ください。

  • Snowflakeで利用可能なロールベースのアクセスコントロールやその他のデータガバナンス機能を利用して、同じロールを持つ他のユーザーにノートブックの表示やコラボレーションを許可します。

  • 個人データベースに保存されたプライベートノートブックを作成し、インタラクティブにコードを開発したり、本番データ資産を実験したりできます。 プライベートノートブック をご参照ください。

Snowsight UIのノートブックの例

Notebookランタイム

Snowflake Notebooks は、それぞれ特定のワークロード向けに設計された、2つの異なるランタイムを提供します:ウェアハウスランタイムとContainer Runtimeです。Notebooks は、仮想ウェアハウス(ウェアランタイムの場合)または Snowpark Container Services のコンピューティングプール(Container Runtimeの場合)のコンピュートリソースを利用してコードを実行します。どちらのランタイムでも、 SQL とSnowparkクエリは常にプッシュダウンされ、パフォーマンスを最適化するためにウェアハウス上で実行されます。

ウェアハウス・ランタイムは、慣れ親しんだ一般的に可用性の高いウェアハウス環境で、最も早く始める方法を提供します。Container Runtimeは、さまざまなタイプのワークロードをサポートできる、より柔軟な環境を提供します。これには、 SQL 分析やデータエンジニアリングが含まれます。Container Runtimeにデフォルトで必要なものが含まれていない場合は、追加のPythonパッケージをインストールできます。コンテナーランタイムには、 CPU および GPU バージョンもあり、多くの一般的な ML パッケージがプリインストールされているため、 ML やディープラーニングのワークロードに最適です。

以下のテーブルは、ランタイムのタイプごとにサポートされている機能を示したものです。このテーブルを使うと、どのランタイムが自分のユースケースに適しているかを判断するのに役立ちます。

サポートされている機能

Warehouse Runtime

Container Runtime

計算

カーネルはウェアハウス上で動作します。

カーネルは、 コンピューティングプール ノード上で実行されます。

環境

Python 3.9

Python 3.10

ベース画像

Streamlit + Snowpark

Snowflake Container Runtime (CPU および GPU イメージには Python ライブラリがプリインストールされています)。

その他のPythonライブラリ

インストールは、Snowflake Anacondaを使用するか、Snowflakeステージから行います。

pipconda、またはSnowflakeステージからインストールします。| 必要に応じて、特定のパッケージバージョンを指定してください。

編集サポート

Python、 SQL、Markdownセル。 | Reference outputs from SQL cells in Python cells and vice versa. | Streamlitのような可視化ライブラリの使用。

ウェアハウスと同じ

アクセス

ノートブックへのアクセスと編集に必要な所有権。

ウェアハウスと同じ

サポートされるNotebooksの機能(まだプレビュー)

Git統合 (プレビュー) | スケジュール (プレビュー)

ウェアハウスと同じ

Container Runtime上でのノートブックの作成、実行、管理の詳細については、 Notebooks on Container Runtime for ML を参照してください。

Notebooksの調査

Snowflake Notebooks ツールバーには、ノートブックの管理とセルの表示設定を調整するためのコントロールがあります。

制御

説明

../../_images/ui-notebooks-packages.png

Package selector: Notebooks で使用するパッケージを選択し、インストールします。 Notebooks で使用する Python パッケージのインポート をご参照ください。

../../_images/ui-notebooks-start.png

Start:Notebooksセッションを開始します。セッションが始まると、画像は Active に変わります。

../../_images/ui-notebooks-active.png

Active: ボタンにカーソルを合わせると、リアルタイムのセッション詳細と集約されたリソース消費メトリクスが表示されます(Container Runtimeノートブックでは、メモリ使用量と CPU/GPU 使用量のメトリクスが表示されます)。セッションを再開または終了するオプションにアクセスするには、下矢印を選択します。現在のセッションを終了するには、 Active を選択します。

../../_images/ui-notebooks-run-all.png

Run All/Stop:すべてのセルを実行するか、セルの実行を停止します。 Snowflake Notebooks でセルを実行する をご参照ください。

../../_images/ui-notebooks-scheduler.png

Scheduler:将来のタスクとしてノートブックを実行するスケジュールをセットします。 ノートブック実行のスケジュール をご参照ください。

../../_images/ui-notebooks-ellipsis.png

Vertical ellipsis menu:ノートブック設定のカスタマイズ、セル出力のクリア、複製、エクスポート、ノートブックの削除。

ノートブックのセルの折りたたみ

セル内のコードを折りたたむと、出力だけを見ることができます。例えば、Pythonのセルを折りたたんでコードによって生成されたビジュアライゼーションのみを表示したり、SQLのセルを折りたたんで結果表のみを表示したりできます。

  • 表示内容を変更するには、 Collapse results を選択します。

    ドロップダウンには、セルの特定の部分を折りたたむオプションがあります。

    セルを折りたたんだり広げたりします。