すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:Delta Lake パラメーター

最終更新日:Jan 11, 2025

このトピックでは、Delta の重要なパラメーターについて説明します。

Delta には 3 つのタイプのパラメーターがあります。
  • Spark SQL パラメーター。SQL ステートメントを実行するために使用されます。
  • ランタイム パラメーター。セッションで動的に構成できます。 これらのパラメーターには、spark.databricks.delta. というプレフィックスが付きます。
  • 非ランタイム パラメーター。Spark 構成ファイルでグローバル パラメーターとして構成するか、CREATE TABLE ステートメントの TBLPROPERTIES 句でテーブル パラメーターとして指定することのみ可能です。 テーブル パラメーターはグローバル パラメーターよりも優先されます。 グローバル パラメーターには、spark.databricks.delta.properties.defaults. というプレフィックスが付きます。 テーブル パラメーターには、delta. というプレフィックスが付きます。
パラメーター説明
spark.databricks.delta.snapshotPartitionsデフォルト値:10。

Delta ログ メタデータのパーティション数。 Delta ログのボリュームが大きい場合は、このパラメーターを大きな値に設定します。 Delta ログのボリュームが小さい場合は、このパラメーターを小さな値に設定します。 このパラメーターは、Delta テーブルの解析パフォーマンスに大きな影響を与えます。

spark.databricks.delta.retentionDurationCheck.enabledデフォルト値:true。
削除マーカーを削除するときに保存期間を確認するかどうかを指定します。
警告 最近マージされた小さなファイルを削除する場合は、このパラメーターを false に設定して保存期間チェックを無効にすることができます。 ただし、デフォルト値を使用することをお勧めします。 そうしないと、最近生成されたデータが削除され、データの読み取り/書き込みエラーが発生する可能性があります。
spark.databricks.delta.schema.autoMerge.enabledデフォルト値:false。

Delta は、書き込まれたデータが宛先テーブルのスキーマと一致するかどうかを確認して、書き込まれたデータが正しいことを確認できます。 データのスキーマが変更された場合は、データを書き込むときに mergeSchema オプションを true に設定します。 これにより、Delta は書き込まれたデータのスキーマを宛先テーブルのスキーマとマージできます。 また、spark.databricks.delta.schema.autoMerge.enabled パラメーターを true に設定して、データ スキーマが変更されたときに自動マージを有効にすることもできます。 ただし、このパラメーターを true に設定しないことをお勧めします。 代わりに、mergeSchema オプションを使用して明示的にマージを有効にしてください。

spark.databricks.delta.properties.defaults.deletedFileRetentionDuration または delta.deletedFileRetentionDurationデフォルト値:interval 1 week。
Delta 削除マーカーの保存期間。 spark.databricks.delta.retentionDurationCheck.enabled パラメーターが true に設定されている場合、保存期間内の削除マーカーを削除しようとすると例外がスローされます。
説明 保存期間は 1 時間以上にする必要があります。
spark.databricks.delta.properties.defaults.logRetentionDuration または delta.logRetentionDurationデフォルト値:interval 30 days。
Delta ログ ファイルの有効期間。 Delta ログ ファイルは、次のいずれかの条件が満たされると期限切れになります。
  • ログ ファイルに対応するデータ ファイルが圧縮される。
  • ログ ファイルの有効期間が終了する。 Delta が Delta ログのチェックポイント ファイルを生成すると、期限切れの Delta ログ ファイルがチェックされ、削除されます。これは、ログ ファイルが無限に増大するのを防ぐためです。
spark.sql.sources.parallelPartitionDiscovery.parallelismデフォルト値:1000。
Delta がファイルのスキャンに使用する並列タスクの数。 ファイルの数が少ない場合は、このパラメーターを小さな値に設定します。 vacuum コマンドでのみ使用できます。 このパラメーターの設定が不適切だと、vacuum コマンドのファイル スキャン効率に影響します。
説明 このパラメーターは Spark SQL パラメーターです。