Delta テーブル プロパティ リファレンス
Delta Lake は、 delta.
で始まる Delta テーブル プロパティを予約します。 これらのプロパティには特定の意味がある場合があり、これらのプロパティが設定されたときの動作に影響を与えます。
テーブル・プロパティを設定または更新するすべての操作は、他の並列書き込み操作と競合するため、失敗します。 Databricks では、テーブルに対して並列書き込み操作がない場合にのみ、テーブルのプロパティを変更することをお勧めします。
テーブルのプロパティと SparkSession プロパティはどのように相互作用しますか?
Delta テーブルのプロパティは、テーブルごとに設定されます。 プロパティがテーブルに設定されている場合、これはデフォルトで従う設定です。
一部のテーブル プロパティには、常にテーブル プロパティよりも優先される SparkSession 構成が関連付けられています。 例としては、 spark.databricks.delta.autoCompact.enabled
と spark.databricks.delta.optimizeWrite.enabled
の設定があり、自動圧縮と最適化された書き込みがテーブル レベルではなく SparkSession レベルで有効になります。 Databricks では、ほとんどのワークロードでテーブル スコープの構成を使用することをお勧めします。
すべての Delta テーブル プロパティに対して、 SparkSession 構成を使用して新しいテーブルのデフォルト値を設定し、組み込み デフォルトをオーバーライドできます。 この設定は新しいテーブルにのみ影響し、既存のテーブルに設定されたプロパティを上書きまたは置き換えるものではありません。 SparkSession で使用されるプレフィックスは、次の表に示すように、テーブル プロパティで使用される構成とは異なります。
Delta Lake conf (英語) | SparkSession conf |
---|---|
|
|
たとえば、セッションで作成されたすべての新しい Delta Lake テーブルの delta.appendOnly = true
プロパティを設定するには、次のように設定します。
SET spark.databricks.delta.properties.defaults.appendOnly = true
既存のテーブルのテーブル・プロパティを変更するには、 SET TBLPROPERTIES を使用します。
Delta テーブルのプロパティ
使用可能な Delta テーブル プロパティには、次のものが含まれます。