トップ / 実行・アクション・IO
それまで積み上げた変換を実際に評価し、結果を手元に取得する。最も基本的なアクション。
df.collect() # Rowオブジェクトのリストを返す
ldf.collect() # Polars DataFrameを返す
Snowparkのcollect()はSnowflakeのウェアハウスに最適化されたSQLを送信・実行し、結果をネットワーク経由で受け取ってRowオブジェクトのリストにする。Polarsのcollect()はRustの実行エンジンをその場で起動し、結果をメモリ上のPolars DataFrameとして保持する。呼び出す場所(クラウドかローカルか)が違うだけで、「それまでの変換をここで初めて評価する」という役割は同じ。
巨大なデータセットに対して不用意にcollect()を呼ぶと、結果を全てクライアント側のメモリに載せようとしてメモリ不足(OOM)でプロセスが落ちるリスクは、SnowparkでもPolarsでも共通して存在する。件数を絞ってからcollect()する、あるいは後述のto_local_iteratorのようなストリーミング手段を検討する。
Polars 1.43.2 で実行確認 / Snowpark Python SDK 1.54.0 で静的検証(2026-08-26)