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

write.save_as_table

結果をテーブル(またはファイル)として書き出す。

SNOWPARK 静的検証のみ

df.write.save_as_table("target_table", mode="overwrite")

POLARS 実行確認済み

ldf.sink_parquet("output.parquet")

挙動・設計の違い

SnowparkはCREATE TABLE AS SELECTINSERT INTOに相当するデータ移動をSnowflake内で完結させ、巨大なデータセットでも高速にテーブルへ書き込める。Polarsのsink_parquetはストリーミングでファイル(Parquet形式)へ書き出す遅延処理で、実行するとParquetファイルが生成されることを確認済み。「テーブルへ書く」のか「ファイルへ書く」のかという書き込み先の種類そのものが異なる。

移行時の落とし穴

Snowparkのmode="overwrite"は、書き込み先のテーブルのスキーマが変わる場合の挙動に注意が要る(列構成が違うと失敗する設定と、自動的にスキーマを合わせる設定がある)。Polars側は「テーブル」という概念自体が無く、常にファイルの新規作成/上書きになるため、Snowpark特有のスキーマ進化の考慮はそのままでは移植できない。

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

出典・検証情報

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