Lake機能を利用して、選択的上書きのための2つの異なるオプションをサポートします:replaceWhereオプションは、指定された述語に一致するすべてのレコードをアトミックに置き換えます。動的パーティションの上書きを使用して、テーブルのパーティション分割方法に基づいてデータのディレクトリを置き換えることができます。ほとんどの操作では、DatabricksはreplaceWhereを使用して上書きするデータを指定することを推奨します。使用して変更を元に戻すことができます。replaceWhereによる任意の選択的上書き任意の式に一致するデータのみを選択的に上書きできます。セマンティクスを使用してアトミック置換を実行します。よるエラーで失敗します。設定し、制約チェックを無効にします。replaceWhereパーティション列の述語に一致するデータのみを上書きしていました。月をdfのデータにアトミックに置き換えます。フラグを無効にすることができます。spark.databricks.delta.replaceWhere.dataColumns.enabled=false動的パーティションの上書きプレビューこの機能はパブリックプレビュー段階にあります。テーブルの動的パーティション上書きモードがサポートされています。以下では、すべてのパーティション列が同じデータ型である場合にのみ、動的パーティション上書きがサポートされます。動的パーティション上書きモードの場合、操作により、書き込みが新しいデータをコミットする各論理パーティション内のすべての既存データが上書きされます。書き込みにデータが含まれていない既存の論理パーティションは変更されません。OVERWRITEまたはdf.write.mode("overwrite")を使用したDataFrame書き込み)で書き込まれている場合にのみ適用されます。Sparkセッション構成spark.sql.sources.partitionOverwriteModeをdynamicに設定して、動的パーティション上書きモードを構成します。DataFrameWriterオプションpartitionOverwriteModeをdynamicに設定してこれを有効にすることもできます。存在する場合、クエリー固有のオプションはセッション構成で定義されたモードを上書きします。partitionOverwriteModeのデフォルトはstaticです。動的パーティションの上書きで書き込まれたデータが、予想されるパーティションのみに影響することを検証します。間違ったパーティションに1行が含まれていると、パーティション全体が意図せず上書きされてしまう可能性があります。動的パーティション上書きはパーティションテーブルのオプションreplaceWhereと競合します。LakeはreplaceWhere式に従ってデータを上書きします(クエリー固有のオプションはセッション構成をオーバーライドします)。DataFrameWriterオプションで動的パーティションの上書きとreplaceWhereの両方が有効になっている場合、エラーが発生します。動的パーティションの上書きを使用する場合、overwriteSchemaをtrueとして指定することはできません。