3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Snowflake NotebooksでSQLを実行するウェアハウスを変更する、あと注意事項

Last updated at Posted at 2024-05-29

Snowflake Notebooks

Snowflake NotebooksはSnowflakeのWeb UIであるSnowsight上で提供されている開発環境です。SQL、Python、Markdownを一つのノート上に混在して記述できるのが特徴です。
雰囲気的にはJupyter Notebookのようなサービスになっています。

Snowflake Notebooks

先日2024/5/25にPublic Preview (PuPr)されました!(2024/5/30時点では公式アナウンスなし)

SQLを実行するウェアハウスを変更する

ノートブックの実行にはウェアハウス1が必要になります。
クレジットが消費されるのでできるだけ小さいものを指定して節約することになるのですが、ノートブック内に重いクエリがあるときに時間がかかってしまいます。
そういうときは単純にUSE WAREHOUSEコマンドでウェアハウスを切り替えればいいようです。

example

上記の例ではUSE WAREHOUSE FROSTYFRIDAY_WH_LAAAAAARGE;を実行することで、ウェアハウスが切り替わっています。
また、ノートブックそのものの実行で使われるウェアハウスは切り替わっていないことが確認できます。

次のセルでも前のセルで設定したウェアハウスがそのまま使われているので、ここは注意が必要そうです。
一方で「特定のPythonセルだけ強いウェアハウスを使いたい!」という場合もあるので、そういうときにはSQLセルでウェアハウスを切り替えてから次のPythonセルで重い処理をやらせる、ということをやればよさそうです。

Pythonセルでウェアハウスを切り替える場合は以下のようにします。力業だ。

session.sql("USE WAREHOUSE (ウェアハウス名);")

ただし、SQLセルやPythonセルで切り替えたウェアハウスはSQL文の実行およびSnowpark DataFramesの操作2にのみ使われるようです。
Pythonセルに含まれるSnowpark DataFramesの操作以外のコードの実行はノートブックそのものの実行と同じウェアハウスが使われます。
そのため、Pythonセルで重い処理をやりたい場合は

  • ノートブックそのものを強いウェアハウスで実行する。ただしコストは割高になる
  • その重い処理をSnowpark DataFramesの操作に置き換えられないか考える

必要があります!

管理画面上ではどうなっているのか

ノートブックそのものの実行はexecute notebookという形でログが出力されています。

admin1

上記の例で切り替えたウェアハウスの方を確認してみると、こちらにはクエリを実行したログのみが出力されていることが確認できます。

admin2

注意事項

ノートブックは表示している間、ウェアハウスが起動したままになってしまうため、じわじわとクレジットを消費します。
ユーザが何も操作しないアイドル状態が続くとウェアハウスが停止するのですが、そのタイマーが60分間とかなり長めに設定されています。3

warning

ウェアハウスは、

  • 右上のボタンから「セッションを終了」を選ぶ
  • ノートブックのページを閉じる
  • アイドル状態が60分間続く

のどれかが発生すると停止します。

  • ノートブックを開いて、数分おきにクエリを実行していたら、いつの間にか最初に開いてから60分間経過していた

という場合は停止しません。

ワークシートのノリで開いたまま放置してしまいそうなので、こまめにセッションを終了して節約していきましょう。

  1. 仮想ウェアハウス。Snowflakeで色々な処理を行ってくれるコンピューティングのこと。

  2. Snowpark DataFramesの操作は、裏側ではSQL文に変換してから実行されます。

  3. 2024/5/30時点

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?