これまでのSnowflakeでの作業といえば「ワークシート」が主流でした。しかし、今、その常識を塗り替える新機能「Snowflake Notebooks」が登場しました。
「SQLだけでは限界がある」「Pythonで高度な分析をしたいけれど環境構築が面倒」……そんな悩みを一気に解決するこのツールの魅力を紹介します。
1. Snowflake Notebooksとは?
Snowflake Notebooksは、Jupyter NotebookのようなインターフェースをSnowflakeの管理画面(Snowsight)上で直接利用できる機能です。
最大の特徴は、「1つのノートブック内でSQLとPython(Snowpark)を自由に混ぜて書ける」こと。Snowpark Pythonを利用するため、ローカルPCの性能に関係なく、Snowflakeの強力な計算リソースを使ってPythonを実行できます。
2. ここがすごい!3つの神ポイント
① SQLの結果をそのままPython変数へ
ワークシートでは、SQLの結果をPythonで使うために一度CSVで書き出したり、複雑なコネクタ設定をしたりする必要がありました。Notebooksなら、SQLセルの結果がそのままPandasのデータフレームとして次のPythonセルで使えます。
② グラフ作成(可視化)が標準搭載
これまでは別のBIツールにデータを飛ばす必要がありましたが、Notebooks内では Streamlit や matplotlib を使って、その場で美しいグラフを描画できます。
- データを抽出 ➔ Pythonで加工 ➔ グラフ化 この流れが、ブラウザ1つで完結します。
③ 環境構築「ゼロ」
Pythonライブラリの管理は非常に手間がかかりますが、Snowflake NotebooksはAnacondaとの提携により、主要なライブラリが最初からインストールされています。 「ライブラリが足りなくて動かない!」というストレスから解放されます。
3. ワークシートとの違いは?
| 項目 | ワークシート | Notebooks |
| 主な言語 | SQL | SQL + Python |
| データの流れ | 単発のクエリ実行 | 一連のストーリー(分析工程)の記録 |
| 可視化 | シンプルなチャート | 高度なグラフ(Streamlit連携) |
| 用途 | データ確認・DB操作 | データ分析・機械学習(ML) |
1. Snowflakeが自動で管理してくれる
Snowflake Notebooksを作成すると、指定したデータベースとスキーマの中に「ノートブックオブジェクト」として保存されます。
- 内部的な仕組み: 実体としては、Snowflakeが管理する内部ステージのような場所にファイル(
.ipynb形式)が保存されていますが、ユーザーからは「テーブル」や「ビュー」と同じように、データベース配下のオブジェクトとして見えます。 - ユーザーの操作: UI上の「+ Notebook」ボタンを押すだけで完了です。
2. 「ステージ」が必要になるケース
ノートブックそのものの作成には不要ですが、「外部のライブラリやデータファイルを読み込みたい」という場合には、ステージが関係してきます。
- 自作のPythonモジュール: 自分で書いた
.pyファイルをノートブックからインポートしたい場合は、そのファイルを一度ステージにアップロードし、ノートブックの設定でそのファイルを「インポート」として追加する必要があります。 - 外部データ: 巨大なCSVやParquetファイルを読み込む際、それらが外部ステージ(S3など)にある場合は、そこへのアクセス権限が必要になります。
3. Git連携(Git Integration)を使う場合
最近のアップデートで、ノートブックをGitHubやGitLabなどのリポジトリと直接同期できるようになりました。
- この場合、Snowflake内に「Gitリポジトリ」という特殊な種類の外部ステージ(のようなもの)を定義します。
- これにより、ノートブックの変更をGitで管理(コミット・プッシュ)できるようになります。チーム開発ではこの方法が推奨されます。



