トップ / 実行・アクション・IO

cache_result

それまでの計算結果を1度だけ確定させ、以降はその結果を使い回す。

SNOWPARK 静的検証のみ

df.cache_result()

POLARS 実行確認済み

ldf.collect()  # 変数に代入して保持しておく

挙動・設計の違い

構造的な違いが大きいメソッド。Snowparkのcache_result()は呼んだ瞬間に実行され、Snowflake上にセッションスコープの一時テーブルを作成して結果を書き込む。以降その結果を参照する処理は、この一時テーブルを読むだけで済み、元の変換を再計算しない。Polars側には同名の専用メソッドは無く、collect()した結果を変数に保持しておくことが同じ役割を果たす(料金構造のページでも触れている)。

移行時の落とし穴

Snowparkのcache_result()は一時テーブルという実体をSnowflake上に作るため、コンピュートコストに加えてストレージコストも発生する。「キャッシュしたから追加コストはかからない」わけではない点に注意する。

実行・アクション・IOの他のメソッド

出典・検証情報

Polars 1.43.2 で実行確認 / Snowpark Python SDK 1.54.0 で静的検証(2026-08-26)