レイクハウスフェデレーションのパフォーマンスに関する推奨事項

February 18, 2025

この記事では、レイクハウスフェデレーション クエリのパフォーマンスを向上させるためのガイダンスを提供します。

JDBC fetchSize パラメーターの設定

JDBC フェッチ・サイズは、ラウンド・トリップごとにフェッチするロー数を決定します。 デフォルトでは、ほとんどの JDBC コネクターはデータをアトミックにフェッチします。 これにより、データ量が使用可能なメモリ量を超える可能性があります。

メモリ不足エラーを回避するには、 fetchSize パラメーターを設定します。 fetchSize が 0 以外の値に設定されている場合、コネクタはデータをバッチで読み取ります。バッチあたりの最大行数は、 fetchSizeの値と等しくなります。 Databricks では、大きな fetchSize 値 ( 1000など) を指定することをお勧めします。

SQL
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に設定されている場合にのみ適用されます。

SQL
SELECT * FROM catalog.schema.snowflakeTable WITH ('partition_size_in_mb' 1000)