レイクハウスフェデレーションのパフォーマンスに関する推奨事項
February 18, 2025
この記事では、レイクハウスフェデレーション クエリのパフォーマンスを向上させるためのガイダンスを提供します。
JDBC fetchSize パラメーターの設定
JDBC フェッチ・サイズは、ラウンド・トリップごとにフェッチするロー数を決定します。 デフォルトでは、ほとんどの JDBC コネクターはデータをアトミックにフェッチします。 これにより、データ量が使用可能なメモリ量を超える可能性があります。
メモリ不足エラーを回避するには、 fetchSize
パラメーターを設定します。 fetchSize
が 0 以外の値に設定されている場合、コネクタはデータをバッチで読み取ります。バッチあたりの最大行数は、 fetchSize
の値と等しくなります。 Databricks では、大きな fetchSize
値 ( 1000
など) を指定することをお勧めします。
SELECT * FROM catalog.schema.jdbcTable WITH ('fetchSize' 1000)
partition_size_in_mb パラメーター (Snowflake) を設定します。
partition_size_in_mb
パラメーターは、複数の DataFrame パーティションに分割する必要がある大規模なクエリ結果セットに設定します。このオプションは、各 DataFrame パーティションの推奨非圧縮サイズを指定します。 パーティションの数を減らすには、より大きな値を指定します。 デフォルトは 100
(MB) です。
partition_size_in_mb
を推奨サイズとして使用します。 パーティションの実際のサイズは、これより小さい場合も大きい場合もあります。 このオプションは、 use_copy_unload
パラメーターが FALSE
に設定されている場合にのみ適用されます。
SELECT * FROM catalog.schema.snowflakeTable WITH ('partition_size_in_mb' 1000)