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

createOrReplaceView(create_or_replace_view)

今のDataFrameの定義を、他のSQLセッションからも参照できるビューとして登録する。

SNOWPARK 静的検証のみ

df.create_or_replace_view("my_in_db_view")

POLARS 実行確認済み

ctx = pl.SQLContext()
ctx.register("my_view", ldf)

挙動・設計の違い

Snowparkは実際にSnowflake内へCREATE OR REPLACE VIEW ... AS ...というDDLを発行し、Snowflake上に永続するデータベースオブジェクトを作る。他のSQLセッションやBIツールからもそのまま参照できる。PolarsのSQLContext().register()はローカルのプロセス内だけで有効なSQL用の名前の登録で、実行して動作を確認したところSQL文からその名前でLazyFrameを参照できるようになる。ただしSnowflakeのビューのように外部から参照できる永続オブジェクトにはならない。

移行時の落とし穴

両者は似た書き方に見えるが、「データベースに永続するオブジェクトを作る」のか「今のPythonプロセス内だけで一時的に名前を割り当てる」のかという根本的に違う操作である。Polars側のregisterをSnowparkのビューと同じ感覚で「他から参照できる」と誤解しない。

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

出典・検証情報

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