トップ / 実行・アクション・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)