<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Merge, Update and deletes using deletion vectors in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/merge-update-and-deletes-using-deletion-vectors/m-p/132605#M49570</link>
    <description>&lt;P&gt;Hey&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/185660"&gt;@shanisolomonron&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;Yes, you are right. The above sequence of actions is always true for MERGE and UPDATE .For DELETE , you don't see any &lt;STRONG&gt;Add a new file&lt;/STRONG&gt; (step 3)&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;And yes, if the table has the DV feature enabled, the writer/runtime supports DVs for that specific command, and you’re not in a special mode (append-only, UniForm, certain HMS cases), then your expected &lt;STRONG data-start="3828" data-end="3870"&gt;remove → add(with DV) → add(new files)&lt;/STRONG&gt; pattern is exactly what happens.&lt;/P&gt;
&lt;P&gt;Please let me know if you have any further questions.&lt;/P&gt;</description>
    <pubDate>Sat, 20 Sep 2025 03:43:05 GMT</pubDate>
    <dc:creator>K_Anudeep</dc:creator>
    <dc:date>2025-09-20T03:43:05Z</dc:date>
    <item>
      <title>Merge, Update and deletes using deletion vectors</title>
      <link>https://community.databricks.com/t5/data-engineering/merge-update-and-deletes-using-deletion-vectors/m-p/132589#M49563</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;When deletion vectors are enabled on a Delta table, is there a guarantee that MERGE, UPDATE, or DELETE operations will &lt;STRONG&gt;not&lt;/STRONG&gt; rewrite unmodified data, but rather use deletion vectors to soft delete the original file?&lt;/P&gt;&lt;P&gt;For example, suppose the table currently consists of a single file, a.parquet. If I update a subset of rows in that file using the&amp;nbsp;UPDATE operation, can I rely on the transaction log to record the following sequence of actions?&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Remove&lt;/STRONG&gt; a.parquet&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Add&lt;/STRONG&gt; a.parquet with a deletion vector indicating the removed rows&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Add&lt;/STRONG&gt; a new file (e.g. new.parquet) containing the updated rows&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;If there’s no such guarantee, could you explain scenarios where deletion vectors might be enabled but still not applied?&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;</description>
      <pubDate>Fri, 19 Sep 2025 18:17:18 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/merge-update-and-deletes-using-deletion-vectors/m-p/132589#M49563</guid>
      <dc:creator>shanisolomonron</dc:creator>
      <dc:date>2025-09-19T18:17:18Z</dc:date>
    </item>
    <item>
      <title>Re: Merge, Update and deletes using deletion vectors</title>
      <link>https://community.databricks.com/t5/data-engineering/merge-update-and-deletes-using-deletion-vectors/m-p/132605#M49570</link>
      <description>&lt;P&gt;Hey&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/185660"&gt;@shanisolomonron&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;Yes, you are right. The above sequence of actions is always true for MERGE and UPDATE .For DELETE , you don't see any &lt;STRONG&gt;Add a new file&lt;/STRONG&gt; (step 3)&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;And yes, if the table has the DV feature enabled, the writer/runtime supports DVs for that specific command, and you’re not in a special mode (append-only, UniForm, certain HMS cases), then your expected &lt;STRONG data-start="3828" data-end="3870"&gt;remove → add(with DV) → add(new files)&lt;/STRONG&gt; pattern is exactly what happens.&lt;/P&gt;
&lt;P&gt;Please let me know if you have any further questions.&lt;/P&gt;</description>
      <pubDate>Sat, 20 Sep 2025 03:43:05 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/merge-update-and-deletes-using-deletion-vectors/m-p/132605#M49570</guid>
      <dc:creator>K_Anudeep</dc:creator>
      <dc:date>2025-09-20T03:43:05Z</dc:date>
    </item>
    <item>
      <title>Re: Merge, Update and deletes using deletion vectors</title>
      <link>https://community.databricks.com/t5/data-engineering/merge-update-and-deletes-using-deletion-vectors/m-p/132704#M49606</link>
      <description>&lt;P&gt;Thanks&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/60098"&gt;@K_Anudeep&lt;/a&gt;.&lt;/P&gt;&lt;P&gt;Could you clarify the condition in which deletion vectors might be enabled, but I might &lt;STRONG&gt;not see&lt;/STRONG&gt; the above sequence of transactions, but rather see:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Remove&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;a.parquet&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Add&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;a new file (e.g. new.parquet) containing the non-deleted + updated rows&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;</description>
      <pubDate>Mon, 22 Sep 2025 15:05:50 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/merge-update-and-deletes-using-deletion-vectors/m-p/132704#M49606</guid>
      <dc:creator>shanisolomonron</dc:creator>
      <dc:date>2025-09-22T15:05:50Z</dc:date>
    </item>
    <item>
      <title>Re: Merge, Update and deletes using deletion vectors</title>
      <link>https://community.databricks.com/t5/data-engineering/merge-update-and-deletes-using-deletion-vectors/m-p/132710#M49609</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Hey&amp;nbsp;&lt;/SPAN&gt;&lt;A style="background-color: #ffffff;" target="_blank" rel="noopener"&gt;@shanisolomonron&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;, that's a classic&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG style="color: #183139;"&gt;copy-on-write&amp;nbsp;&lt;/STRONG&gt;&lt;SPAN&gt;when DVs are disabled.&lt;/SPAN&gt;&amp;nbsp;When DV's are enabled when a parquet file is removed, the same parquet file will be added back with a DV.&lt;/P&gt;
&lt;P&gt;In the above scenario, if&amp;nbsp;&lt;STRONG&gt;&lt;EM&gt;a.parquet has a DV&amp;nbsp;&lt;/EM&gt;&lt;/STRONG&gt;associated with it and has a REMOVE action , and then a new file&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;new.parquet&lt;/STRONG&gt; is added , it is an OPTIMIZE command .&lt;/P&gt;</description>
      <pubDate>Mon, 22 Sep 2025 15:45:49 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/merge-update-and-deletes-using-deletion-vectors/m-p/132710#M49609</guid>
      <dc:creator>K_Anudeep</dc:creator>
      <dc:date>2025-09-22T15:45:49Z</dc:date>
    </item>
    <item>
      <title>Re: Merge, Update and deletes using deletion vectors</title>
      <link>https://community.databricks.com/t5/data-engineering/merge-update-and-deletes-using-deletion-vectors/m-p/132715#M49612</link>
      <description>&lt;P&gt;Thanks for the clarification&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/60098"&gt;@K_Anudeep&lt;/a&gt;.&lt;/P&gt;&lt;P&gt;Sorry to circle back on this, but in your original answer you mentioned there are scenarios where a Delta table can have deletion vectors enabled yet not actually use them—for example, when the table is append-only, uses UniForm, or in certain HMS situations.&lt;/P&gt;&lt;P&gt;Could you clarify the specific conditions where a Delta table has deletion vectors enabled, the engine is capable of writing them, but they still aren’t applied?&lt;/P&gt;</description>
      <pubDate>Mon, 22 Sep 2025 16:37:02 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/merge-update-and-deletes-using-deletion-vectors/m-p/132715#M49612</guid>
      <dc:creator>shanisolomonron</dc:creator>
      <dc:date>2025-09-22T16:37:02Z</dc:date>
    </item>
  </channel>
</rss>

