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で利用可能なロールベースのアクセスコントロールやその他のデータガバナンス機能を利用して、同じロールを持つ他のユーザーにノートブックの表示やコラボレーションを許可します。 
- 個人データベースに保存されたプライベートノートブックを作成し、インタラクティブにコードを開発したり、本番データ資産を実験したりできます。プライベートノートブック をご参照ください。 
 
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ステージから行います。 | 
 | 
| 編集サポート | 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 ツールバーには、ノートブックの管理とセルの表示設定を調整するためのコントロールがあります。
| 制御 | 説明 | 
|---|---|
|   | Package selector:Notebooks で使用するパッケージを選択し、インストールします。Notebooks で使用する Python パッケージのインポート をご参照ください。 | 
|   | Start:Notebooksセッションを開始します。セッションが始まると、画像は Active に変わります。 | 
|   | Active: ボタンにカーソルを合わせると、リアルタイムのセッション詳細と集約されたリソース消費メトリクスが表示されます(Container Runtimeノートブックでは、メモリ使用量と CPU/GPU 使用量のメトリクスが表示されます)。セッションを再開または終了するオプションにアクセスするには、下矢印を選択します。現在のセッションを終了するには、 Active を選択します。 | 
|   | Run All/Stop:すべてのセルを実行するか、セルの実行を停止します。 Snowflake Notebooks でセルを実行する をご参照ください。 | 
|   | Scheduler:将来のタスクとしてノートブックを実行するスケジュールをセットします。 ノートブック実行のスケジュール をご参照ください。 | 
|   | Vertical ellipsis menu:ノートブック設定のカスタマイズ、セル出力のクリア、複製、エクスポート、ノートブックの削除。 | 
ノートブックのセルの折りたたみ¶
セル内のコードを折りたたむと、出力だけを見ることができます。例えば、Pythonのセルを折りたたんでコードによって生成されたビジュアライゼーションのみを表示したり、SQLのセルを折りたたんで結果表のみを表示したりできます。
- 表示内容を変更するには、 Collapse results を選択します。
- ドロップダウンには、セルの特定の部分を折りたたむオプションがあります。 