<?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 Slow batch processing in Databricks job due to high deletion vector and unified unified cache overhe in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/slow-batch-processing-in-databricks-job-due-to-high-deletion/m-p/128120#M48161</link>
    <description>&lt;P&gt;We have a Databricks pipeline where the &lt;STRONG&gt;layer&lt;/STRONG&gt;&amp;nbsp;reads&amp;nbsp;from several Silver tables to detect PK/FK changes and trigger updates to Gold tables. Normally, this near real-time job has ~3 minutes latency per micro-batch.&lt;/P&gt;&lt;P&gt;Recently, we noticed that each batch is running &lt;STRONG&gt;much slower&lt;/STRONG&gt; (10–20+ minutes), even after scaling from N2-8 to N2-16 for both driver and executors — without noticeable improvement.&lt;/P&gt;&lt;P&gt;I extracted job metrics and sorted them by AvgCompletionTime. The top bottlenecks are:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Deletion vector operations&lt;/STRONG&gt; (number of deletion vector rows read, time spent reading deletion vectors, etc.) with ~6,100–6,300 seconds average completion time per task.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Unified cache operations&lt;/STRONG&gt; (unified cache populate time for ParquetFooter, unified cache populate time for RangeDeletionVector, unified cache read/serve bytes...) with ~5,000 seconds average completion time per task.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;From the metrics, it seems that:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;A lot of tasks are reading from disk cache (unified cache) but also spending significant time &lt;STRONG&gt;populating&lt;/STRONG&gt; the cache.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Many Parquet footers, column chunks, and deletion vectors are being cached on the fly.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Cache hit ratio may be low due to constantly reading new data from CDF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;My questions are:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;P&gt;In a near real-time workload where data changes frequently, could &lt;STRONG&gt;unified cache&lt;/STRONG&gt; cause more overhead than benefit (due to low hit rate)?&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;Are there recommended strategies to reduce deletion vector overhead in Delta tables (e.g., optimize, vacuum, rewrite)?&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Any tuning tips for improving batch performance in this case?&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;Would appreciate any guidance or best practices from the community.&lt;/P&gt;&lt;P&gt;Metrics table:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="0" cellspacing="0"&gt;&lt;COLGROUP width="382"&gt;&lt;/COLGROUP&gt;&lt;COLGROUP width="121"&gt;&lt;/COLGROUP&gt;&lt;COLGROUP width="135"&gt;&lt;/COLGROUP&gt;&lt;COLGROUP width="145"&gt;&lt;/COLGROUP&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD height="17"&gt;&lt;STRONG&gt;MetricName&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;TotalMetricValue&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;TotalNumberTasks&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;AvgCompletionTime&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;number of non-local (rescheduled) scan tasks&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;9531.9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;unified cache hits count for RangeDeletionVector&lt;/TD&gt;&lt;TD&gt;162448&lt;/TD&gt;&lt;TD&gt;14137&lt;/TD&gt;&lt;TD&gt;6274.97798742138&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;number of deletion vector rows read from disk cache&lt;/TD&gt;&lt;TD&gt;1710803&lt;/TD&gt;&lt;TD&gt;14154&lt;/TD&gt;&lt;TD&gt;6138.35435435436&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;number of deletion vector rows read&lt;/TD&gt;&lt;TD&gt;1710803&lt;/TD&gt;&lt;TD&gt;14154&lt;/TD&gt;&lt;TD&gt;6138.35435435436&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;number of deletion vectors read&lt;/TD&gt;&lt;TD&gt;162794&lt;/TD&gt;&lt;TD&gt;14154&lt;/TD&gt;&lt;TD&gt;6138.35435435436&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;number of deletion vectors read from disk cache&lt;/TD&gt;&lt;TD&gt;162794&lt;/TD&gt;&lt;TD&gt;14154&lt;/TD&gt;&lt;TD&gt;6138.35435435436&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;internal.metrics.resultSerializationTime&lt;/TD&gt;&lt;TD&gt;142&lt;/TD&gt;&lt;TD&gt;2792&lt;/TD&gt;&lt;TD&gt;5848.54285714286&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;unified cache coalesce count for RangeDeletionVector&lt;/TD&gt;&lt;TD&gt;242&lt;/TD&gt;&lt;TD&gt;2554&lt;/TD&gt;&lt;TD&gt;5409.65979381443&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;time spent reading deletion vectors&lt;/TD&gt;&lt;TD&gt;63656715484&lt;/TD&gt;&lt;TD&gt;108783&lt;/TD&gt;&lt;TD&gt;5310.43413173653&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;size of deletion vectors read from disk cache&lt;/TD&gt;&lt;TD&gt;8610813&lt;/TD&gt;&lt;TD&gt;108783&lt;/TD&gt;&lt;TD&gt;5310.43413173653&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;size of deletion vectors read&lt;/TD&gt;&lt;TD&gt;8610813&lt;/TD&gt;&lt;TD&gt;108783&lt;/TD&gt;&lt;TD&gt;5310.43413173653&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;time spent waiting for fetched deletion vectors&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;108783&lt;/TD&gt;&lt;TD&gt;5310.43413173653&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;size of deletion vectors read from memory cache&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;108783&lt;/TD&gt;&lt;TD&gt;5310.43413173653&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;unified cache coalesce count for ParquetFooter&lt;/TD&gt;&lt;TD&gt;67&lt;/TD&gt;&lt;TD&gt;1113&lt;/TD&gt;&lt;TD&gt;5191.16279069768&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;unified cache hits count for ParquetFooter&lt;/TD&gt;&lt;TD&gt;682285&lt;/TD&gt;&lt;TD&gt;102155&lt;/TD&gt;&lt;TD&gt;5115.15193026152&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;unified cache hits count for ParquetColumnChunk&lt;/TD&gt;&lt;TD&gt;2418275&lt;/TD&gt;&lt;TD&gt;102165&lt;/TD&gt;&lt;TD&gt;5109.88888888889&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;scan time&lt;/TD&gt;&lt;TD&gt;4063119&lt;/TD&gt;&lt;TD&gt;106814&lt;/TD&gt;&lt;TD&gt;5071.2162818955&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;number of input batches&lt;/TD&gt;&lt;TD&gt;1662757&lt;/TD&gt;&lt;TD&gt;106814&lt;/TD&gt;&lt;TD&gt;5071.2162818955&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;unified cache populate time for ParquetFooter&lt;/TD&gt;&lt;TD&gt;485712457512&lt;/TD&gt;&lt;TD&gt;109744&lt;/TD&gt;&lt;TD&gt;5009.97760617761&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;uncompressed bytes read after filtering&lt;/TD&gt;&lt;TD&gt;262858290309&lt;/TD&gt;&lt;TD&gt;109744&lt;/TD&gt;&lt;TD&gt;5009.97760617761&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;cache hits size (uncompressed)&lt;/TD&gt;&lt;TD&gt;261150107387&lt;/TD&gt;&lt;TD&gt;109744&lt;/TD&gt;&lt;TD&gt;5009.97760617761&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;cache hits size&lt;/TD&gt;&lt;TD&gt;198250435165&lt;/TD&gt;&lt;TD&gt;109744&lt;/TD&gt;&lt;TD&gt;5009.97760617761&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;stable cache serve bytes for ParquetColumnChunk&lt;/TD&gt;&lt;TD&gt;187484742374&lt;/TD&gt;&lt;TD&gt;109744&lt;/TD&gt;&lt;TD&gt;5009.97760617761&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;unified cache serve bytes for ParquetColumnChunk&lt;/TD&gt;&lt;TD&gt;187484742374&lt;/TD&gt;&lt;TD&gt;109744&lt;/TD&gt;&lt;TD&gt;5009.97760617761&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;unified cache read bytes for ParquetColumnChunk&lt;/TD&gt;&lt;TD&gt;184745766945&lt;/TD&gt;&lt;TD&gt;109744&lt;/TD&gt;&lt;TD&gt;5009.97760617761&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;unified cache populate time for RangeDeletionVector&lt;/TD&gt;&lt;TD&gt;21316692333&lt;/TD&gt;&lt;TD&gt;109744&lt;/TD&gt;&lt;TD&gt;5009.97760617761&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;unified cache serve bytes for ParquetFooter&lt;/TD&gt;&lt;TD&gt;11843089123&lt;/TD&gt;&lt;TD&gt;109744&lt;/TD&gt;&lt;TD&gt;5009.97760617761&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;stable cache serve bytes for ParquetFooter&lt;/TD&gt;&lt;TD&gt;11843089123&lt;/TD&gt;&lt;TD&gt;109744&lt;/TD&gt;&lt;TD&gt;5009.97760617761&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;unified cache read bytes for ParquetFooter&lt;/TD&gt;&lt;TD&gt;11770827958&lt;/TD&gt;&lt;TD&gt;109744&lt;/TD&gt;&lt;TD&gt;5009.97760617761&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
    <pubDate>Tue, 12 Aug 2025 04:21:16 GMT</pubDate>
    <dc:creator>minhhung0507</dc:creator>
    <dc:date>2025-08-12T04:21:16Z</dc:date>
    <item>
      <title>Slow batch processing in Databricks job due to high deletion vector and unified unified cache overhe</title>
      <link>https://community.databricks.com/t5/data-engineering/slow-batch-processing-in-databricks-job-due-to-high-deletion/m-p/128120#M48161</link>
      <description>&lt;P&gt;We have a Databricks pipeline where the &lt;STRONG&gt;layer&lt;/STRONG&gt;&amp;nbsp;reads&amp;nbsp;from several Silver tables to detect PK/FK changes and trigger updates to Gold tables. Normally, this near real-time job has ~3 minutes latency per micro-batch.&lt;/P&gt;&lt;P&gt;Recently, we noticed that each batch is running &lt;STRONG&gt;much slower&lt;/STRONG&gt; (10–20+ minutes), even after scaling from N2-8 to N2-16 for both driver and executors — without noticeable improvement.&lt;/P&gt;&lt;P&gt;I extracted job metrics and sorted them by AvgCompletionTime. The top bottlenecks are:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Deletion vector operations&lt;/STRONG&gt; (number of deletion vector rows read, time spent reading deletion vectors, etc.) with ~6,100–6,300 seconds average completion time per task.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Unified cache operations&lt;/STRONG&gt; (unified cache populate time for ParquetFooter, unified cache populate time for RangeDeletionVector, unified cache read/serve bytes...) with ~5,000 seconds average completion time per task.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;From the metrics, it seems that:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;A lot of tasks are reading from disk cache (unified cache) but also spending significant time &lt;STRONG&gt;populating&lt;/STRONG&gt; the cache.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Many Parquet footers, column chunks, and deletion vectors are being cached on the fly.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Cache hit ratio may be low due to constantly reading new data from CDF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;My questions are:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;P&gt;In a near real-time workload where data changes frequently, could &lt;STRONG&gt;unified cache&lt;/STRONG&gt; cause more overhead than benefit (due to low hit rate)?&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;Are there recommended strategies to reduce deletion vector overhead in Delta tables (e.g., optimize, vacuum, rewrite)?&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Any tuning tips for improving batch performance in this case?&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;Would appreciate any guidance or best practices from the community.&lt;/P&gt;&lt;P&gt;Metrics table:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="0" cellspacing="0"&gt;&lt;COLGROUP width="382"&gt;&lt;/COLGROUP&gt;&lt;COLGROUP width="121"&gt;&lt;/COLGROUP&gt;&lt;COLGROUP width="135"&gt;&lt;/COLGROUP&gt;&lt;COLGROUP width="145"&gt;&lt;/COLGROUP&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD height="17"&gt;&lt;STRONG&gt;MetricName&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;TotalMetricValue&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;TotalNumberTasks&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;AvgCompletionTime&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;number of non-local (rescheduled) scan tasks&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;9531.9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;unified cache hits count for RangeDeletionVector&lt;/TD&gt;&lt;TD&gt;162448&lt;/TD&gt;&lt;TD&gt;14137&lt;/TD&gt;&lt;TD&gt;6274.97798742138&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;number of deletion vector rows read from disk cache&lt;/TD&gt;&lt;TD&gt;1710803&lt;/TD&gt;&lt;TD&gt;14154&lt;/TD&gt;&lt;TD&gt;6138.35435435436&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;number of deletion vector rows read&lt;/TD&gt;&lt;TD&gt;1710803&lt;/TD&gt;&lt;TD&gt;14154&lt;/TD&gt;&lt;TD&gt;6138.35435435436&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;number of deletion vectors read&lt;/TD&gt;&lt;TD&gt;162794&lt;/TD&gt;&lt;TD&gt;14154&lt;/TD&gt;&lt;TD&gt;6138.35435435436&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;number of deletion vectors read from disk cache&lt;/TD&gt;&lt;TD&gt;162794&lt;/TD&gt;&lt;TD&gt;14154&lt;/TD&gt;&lt;TD&gt;6138.35435435436&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;internal.metrics.resultSerializationTime&lt;/TD&gt;&lt;TD&gt;142&lt;/TD&gt;&lt;TD&gt;2792&lt;/TD&gt;&lt;TD&gt;5848.54285714286&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;unified cache coalesce count for RangeDeletionVector&lt;/TD&gt;&lt;TD&gt;242&lt;/TD&gt;&lt;TD&gt;2554&lt;/TD&gt;&lt;TD&gt;5409.65979381443&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;time spent reading deletion vectors&lt;/TD&gt;&lt;TD&gt;63656715484&lt;/TD&gt;&lt;TD&gt;108783&lt;/TD&gt;&lt;TD&gt;5310.43413173653&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;size of deletion vectors read from disk cache&lt;/TD&gt;&lt;TD&gt;8610813&lt;/TD&gt;&lt;TD&gt;108783&lt;/TD&gt;&lt;TD&gt;5310.43413173653&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;size of deletion vectors read&lt;/TD&gt;&lt;TD&gt;8610813&lt;/TD&gt;&lt;TD&gt;108783&lt;/TD&gt;&lt;TD&gt;5310.43413173653&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;time spent waiting for fetched deletion vectors&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;108783&lt;/TD&gt;&lt;TD&gt;5310.43413173653&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;size of deletion vectors read from memory cache&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;108783&lt;/TD&gt;&lt;TD&gt;5310.43413173653&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;unified cache coalesce count for ParquetFooter&lt;/TD&gt;&lt;TD&gt;67&lt;/TD&gt;&lt;TD&gt;1113&lt;/TD&gt;&lt;TD&gt;5191.16279069768&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;unified cache hits count for ParquetFooter&lt;/TD&gt;&lt;TD&gt;682285&lt;/TD&gt;&lt;TD&gt;102155&lt;/TD&gt;&lt;TD&gt;5115.15193026152&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;unified cache hits count for ParquetColumnChunk&lt;/TD&gt;&lt;TD&gt;2418275&lt;/TD&gt;&lt;TD&gt;102165&lt;/TD&gt;&lt;TD&gt;5109.88888888889&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;scan time&lt;/TD&gt;&lt;TD&gt;4063119&lt;/TD&gt;&lt;TD&gt;106814&lt;/TD&gt;&lt;TD&gt;5071.2162818955&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;number of input batches&lt;/TD&gt;&lt;TD&gt;1662757&lt;/TD&gt;&lt;TD&gt;106814&lt;/TD&gt;&lt;TD&gt;5071.2162818955&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;unified cache populate time for ParquetFooter&lt;/TD&gt;&lt;TD&gt;485712457512&lt;/TD&gt;&lt;TD&gt;109744&lt;/TD&gt;&lt;TD&gt;5009.97760617761&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;uncompressed bytes read after filtering&lt;/TD&gt;&lt;TD&gt;262858290309&lt;/TD&gt;&lt;TD&gt;109744&lt;/TD&gt;&lt;TD&gt;5009.97760617761&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;cache hits size (uncompressed)&lt;/TD&gt;&lt;TD&gt;261150107387&lt;/TD&gt;&lt;TD&gt;109744&lt;/TD&gt;&lt;TD&gt;5009.97760617761&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;cache hits size&lt;/TD&gt;&lt;TD&gt;198250435165&lt;/TD&gt;&lt;TD&gt;109744&lt;/TD&gt;&lt;TD&gt;5009.97760617761&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;stable cache serve bytes for ParquetColumnChunk&lt;/TD&gt;&lt;TD&gt;187484742374&lt;/TD&gt;&lt;TD&gt;109744&lt;/TD&gt;&lt;TD&gt;5009.97760617761&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;unified cache serve bytes for ParquetColumnChunk&lt;/TD&gt;&lt;TD&gt;187484742374&lt;/TD&gt;&lt;TD&gt;109744&lt;/TD&gt;&lt;TD&gt;5009.97760617761&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;unified cache read bytes for ParquetColumnChunk&lt;/TD&gt;&lt;TD&gt;184745766945&lt;/TD&gt;&lt;TD&gt;109744&lt;/TD&gt;&lt;TD&gt;5009.97760617761&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;unified cache populate time for RangeDeletionVector&lt;/TD&gt;&lt;TD&gt;21316692333&lt;/TD&gt;&lt;TD&gt;109744&lt;/TD&gt;&lt;TD&gt;5009.97760617761&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;unified cache serve bytes for ParquetFooter&lt;/TD&gt;&lt;TD&gt;11843089123&lt;/TD&gt;&lt;TD&gt;109744&lt;/TD&gt;&lt;TD&gt;5009.97760617761&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;stable cache serve bytes for ParquetFooter&lt;/TD&gt;&lt;TD&gt;11843089123&lt;/TD&gt;&lt;TD&gt;109744&lt;/TD&gt;&lt;TD&gt;5009.97760617761&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="17"&gt;unified cache read bytes for ParquetFooter&lt;/TD&gt;&lt;TD&gt;11770827958&lt;/TD&gt;&lt;TD&gt;109744&lt;/TD&gt;&lt;TD&gt;5009.97760617761&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Tue, 12 Aug 2025 04:21:16 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/slow-batch-processing-in-databricks-job-due-to-high-deletion/m-p/128120#M48161</guid>
      <dc:creator>minhhung0507</dc:creator>
      <dc:date>2025-08-12T04:21:16Z</dc:date>
    </item>
    <item>
      <title>Re: Slow batch processing in Databricks job due to high deletion vector and unified unified cache ov</title>
      <link>https://community.databricks.com/t5/data-engineering/slow-batch-processing-in-databricks-job-due-to-high-deletion/m-p/128191#M48172</link>
      <description>&lt;P&gt;Hello &lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/135091"&gt;@minhhung0507&lt;/a&gt;&amp;nbsp;trust all is well at your end. May I know how you captured these job metrics?&lt;/P&gt;</description>
      <pubDate>Tue, 12 Aug 2025 09:39:28 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/slow-batch-processing-in-databricks-job-due-to-high-deletion/m-p/128191#M48172</guid>
      <dc:creator>noorbasha534</dc:creator>
      <dc:date>2025-08-12T09:39:28Z</dc:date>
    </item>
    <item>
      <title>Re: Slow batch processing in Databricks job due to high deletion vector and unified unified cache ov</title>
      <link>https://community.databricks.com/t5/data-engineering/slow-batch-processing-in-databricks-job-due-to-high-deletion/m-p/128192#M48173</link>
      <description>&lt;P&gt;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/135091"&gt;@minhhung0507&lt;/a&gt;&amp;nbsp;as per documentation -&lt;/P&gt;&lt;P&gt;'The actual physical removal of deleted rows (the "hard delete") is deferred until the table is optimized with OPTIMIZE or when a VACUUM operation is run, cleaning up old files.'&lt;/P&gt;&lt;P&gt;So, based on this, try to optimize the table once the data load finishes &amp;amp; verify metrics in the next run.&lt;/P&gt;</description>
      <pubDate>Tue, 12 Aug 2025 09:43:48 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/slow-batch-processing-in-databricks-job-due-to-high-deletion/m-p/128192#M48173</guid>
      <dc:creator>noorbasha534</dc:creator>
      <dc:date>2025-08-12T09:43:48Z</dc:date>
    </item>
  </channel>
</rss>

