<?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: Incremental Load on Materialized Views in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/incremental-load-on-materialized-views/m-p/117539#M45521</link>
    <description>&lt;P&gt;This is great. Thank you so much.&lt;/P&gt;</description>
    <pubDate>Fri, 02 May 2025 17:22:04 GMT</pubDate>
    <dc:creator>Dharinip</dc:creator>
    <dc:date>2025-05-02T17:22:04Z</dc:date>
    <item>
      <title>Incremental Load on Materialized Views</title>
      <link>https://community.databricks.com/t5/data-engineering/incremental-load-on-materialized-views/m-p/112113#M44112</link>
      <description>&lt;P&gt;Is incremental load possible on Materialized views. I would like to get some tutorials or videos on how to perform incremental refresh on MVs in gold layers. Also is it mandatory to have PKs for performing incremental loads in MVs.&lt;/P&gt;</description>
      <pubDate>Sun, 09 Mar 2025 23:45:29 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/incremental-load-on-materialized-views/m-p/112113#M44112</guid>
      <dc:creator>Dharinip</dc:creator>
      <dc:date>2025-03-09T23:45:29Z</dc:date>
    </item>
    <item>
      <title>Re: Incremental Load on Materialized Views</title>
      <link>https://community.databricks.com/t5/data-engineering/incremental-load-on-materialized-views/m-p/112116#M44113</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/66619"&gt;@Dharinip&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Yes, Databricks materialized views support incremental updates. You can refer this &lt;A href="https://docs.databricks.com/aws/en/optimizations/incremental-refresh" target="_blank"&gt;doc page&lt;/A&gt; for details. It uses a DLT pipeline internally and a serverless SQL warehouse is required. It utilizes &lt;A href="https://docs.databricks.com/aws/en/delta/row-tracking" target="_blank"&gt;row tracking&lt;/A&gt;&amp;nbsp;and PKs are not mandatory.&lt;/P&gt;
&lt;P&gt;I created a very simple example notebook to &lt;A href="https://gist.github.com/koji-kawamura-db/6285e740637e40e13e4e20a94c4b240f" target="_blank"&gt;demonstrate updating a materialized view incrementally&lt;/A&gt;.&lt;/P&gt;</description>
      <pubDate>Mon, 10 Mar 2025 03:20:39 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/incremental-load-on-materialized-views/m-p/112116#M44113</guid>
      <dc:creator>koji_kawamura</dc:creator>
      <dc:date>2025-03-10T03:20:39Z</dc:date>
    </item>
    <item>
      <title>Re: Incremental Load on Materialized Views</title>
      <link>https://community.databricks.com/t5/data-engineering/incremental-load-on-materialized-views/m-p/112938#M44364</link>
      <description>&lt;P&gt;My question is: can materialized views be updated incrementally. For example:&lt;BR /&gt;&lt;BR /&gt;In my case, we store the data in Iron layer and it gets flattened in bronze and silver layer as separate tables. The required transformations happen from silver to gold layer.&lt;BR /&gt;&lt;BR /&gt;All the Iron, bronze and silver layers are streaming tables as SCD type 2 and gets incrementally loaded.&amp;nbsp;&lt;/P&gt;&lt;P&gt;The Gold layer are materialized views. Every time the pipeline runs, the materialized views are fully refreshed. But we wanted to have those incrementally loaded.&lt;BR /&gt;Example:&lt;/P&gt;&lt;TABLE width="724"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD width="99"&gt;SILVER&lt;/TD&gt;&lt;TD width="75"&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD width="68"&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD width="68"&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD width="80"&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD width="73"&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD width="73"&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD width="73"&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD width="115"&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Table: Client&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ClientID&lt;/TD&gt;&lt;TD&gt;ClientName&lt;/TD&gt;&lt;TD&gt;Address&lt;/TD&gt;&lt;TD&gt;Status&lt;/TD&gt;&lt;TD&gt;CreatedDate&lt;/TD&gt;&lt;TD&gt;StartDate&lt;/TD&gt;&lt;TD&gt;Enddate&lt;/TD&gt;&lt;TD&gt;RunDate&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;ABC&lt;/TD&gt;&lt;TD&gt;Florida&lt;/TD&gt;&lt;TD&gt;New&lt;/TD&gt;&lt;TD&gt;03.15.2025&lt;/TD&gt;&lt;TD&gt;03.15.2025&lt;/TD&gt;&lt;TD&gt;03.16.2025&lt;/TD&gt;&lt;TD&gt;03.15.2025&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;ABC&lt;/TD&gt;&lt;TD&gt;Miami&lt;/TD&gt;&lt;TD&gt;New&lt;/TD&gt;&lt;TD&gt;03.16.2025&lt;/TD&gt;&lt;TD&gt;03.16.2025&lt;/TD&gt;&lt;TD&gt;03.17.2025&lt;/TD&gt;&lt;TD&gt;03.16.2025&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;ABC&lt;/TD&gt;&lt;TD&gt;Miami&lt;/TD&gt;&lt;TD&gt;Active&lt;/TD&gt;&lt;TD&gt;03.17.2025&lt;/TD&gt;&lt;TD&gt;03.17.2025&lt;/TD&gt;&lt;TD&gt;NULL&lt;/TD&gt;&lt;TD&gt;03.17.2025&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;QWE&lt;/TD&gt;&lt;TD&gt;Kansas&lt;/TD&gt;&lt;TD&gt;Active&lt;/TD&gt;&lt;TD&gt;03.15.2025&lt;/TD&gt;&lt;TD&gt;03.15.2025&lt;/TD&gt;&lt;TD&gt;03.18.2025&lt;/TD&gt;&lt;TD&gt;03.15.2025&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;QWE&lt;/TD&gt;&lt;TD&gt;Kansas&lt;/TD&gt;&lt;TD&gt;Inactive&lt;/TD&gt;&lt;TD&gt;03.18.2025&lt;/TD&gt;&lt;TD&gt;03.18.2025&lt;/TD&gt;&lt;TD&gt;NULL&lt;/TD&gt;&lt;TD&gt;03.18.2025&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;GHJ&lt;/TD&gt;&lt;TD&gt;Buffalo&lt;/TD&gt;&lt;TD&gt;Active&lt;/TD&gt;&lt;TD&gt;03.18.2025&lt;/TD&gt;&lt;TD&gt;03.18.2025&lt;/TD&gt;&lt;TD&gt;NULL&lt;/TD&gt;&lt;TD&gt;03.18.2025&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;GOLD&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Materialized&amp;nbsp; View: Client&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;NAME&lt;/TD&gt;&lt;TD&gt;Address&lt;/TD&gt;&lt;TD&gt;Status&lt;/TD&gt;&lt;TD&gt;CreatedDate&lt;/TD&gt;&lt;TD&gt;StartDate&lt;/TD&gt;&lt;TD&gt;Enddate&lt;/TD&gt;&lt;TD&gt;RunDate&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;ABC&lt;/TD&gt;&lt;TD&gt;Miami&lt;/TD&gt;&lt;TD&gt;Active&lt;/TD&gt;&lt;TD&gt;03.17.2025&lt;/TD&gt;&lt;TD&gt;03.17.2025&lt;/TD&gt;&lt;TD&gt;NULL&lt;/TD&gt;&lt;TD&gt;03.17.2025&lt;/TD&gt;&lt;TD width="115"&gt;These should also be incrementally loaded.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;QWE&lt;/TD&gt;&lt;TD&gt;Kansas&lt;/TD&gt;&lt;TD&gt;Inactive&lt;/TD&gt;&lt;TD&gt;03.18.2025&lt;/TD&gt;&lt;TD&gt;03.18.2025&lt;/TD&gt;&lt;TD&gt;NULL&lt;/TD&gt;&lt;TD&gt;03.18.2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;GHJ&lt;/TD&gt;&lt;TD&gt;Buffalo&lt;/TD&gt;&lt;TD&gt;Active&lt;/TD&gt;&lt;TD&gt;03.18.2025&lt;/TD&gt;&lt;TD&gt;03.18.2025&lt;/TD&gt;&lt;TD&gt;NULL&lt;/TD&gt;&lt;TD&gt;03.18.2025&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 18 Mar 2025 14:19:37 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/incremental-load-on-materialized-views/m-p/112938#M44364</guid>
      <dc:creator>Dharinip</dc:creator>
      <dc:date>2025-03-18T14:19:37Z</dc:date>
    </item>
    <item>
      <title>Re: Incremental Load on Materialized Views</title>
      <link>https://community.databricks.com/t5/data-engineering/incremental-load-on-materialized-views/m-p/117502#M45511</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/66619"&gt;@Dharinip&lt;/a&gt;&amp;nbsp;, excuse me for the super late reply! I had been very busy last month...&lt;/P&gt;
&lt;P&gt;Thanks for providing the additional details. It seems you would like to have both SCD Type 1 and 2.&lt;/P&gt;
&lt;P&gt;Are you using a DLT pipeline to implement this? I assume so, because my previous demo example didn't resonate with you, which used a standalone materialized view approach.&lt;/P&gt;
&lt;P&gt;So, I just created a simple DLT pipeline based on your example. Having a bronze table (client_raw), apply changes into a SCD type 2 streaming table (client_history), then create a MV (client_current). The client_current MV should be updated incrementally using a Serverless used. Related doc can be found &lt;A href="https://docs.databricks.com/aws/en/optimizations/incremental-refresh#refreshes-run-on-serverless-compute" target="_blank"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;I've uploaded the sample DLT source code here. I hope it suites your need.&amp;nbsp;&lt;A href="https://gist.github.com/koji-kawamura-db/999b7fb9e114a236c15442776c5c0a0f" target="_blank"&gt;https://gist.github.com/koji-kawamura-db/999b7fb9e114a236c15442776c5c0a0f&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;BTW, creating both type 1 and 2 as two Streaming Tables might be an alternative solution. So, the sample pipeline includes such a route just in case.&lt;/P&gt;
&lt;P&gt;The DLT pipeline looks like this:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="koji_kawamura_0-1746186062932.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/16421i0C624A45D428B093/image-size/medium?v=v2&amp;amp;px=400" role="button" title="koji_kawamura_0-1746186062932.png" alt="koji_kawamura_0-1746186062932.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 02 May 2025 11:42:43 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/incremental-load-on-materialized-views/m-p/117502#M45511</guid>
      <dc:creator>koji_kawamura</dc:creator>
      <dc:date>2025-05-02T11:42:43Z</dc:date>
    </item>
    <item>
      <title>Re: Incremental Load on Materialized Views</title>
      <link>https://community.databricks.com/t5/data-engineering/incremental-load-on-materialized-views/m-p/117539#M45521</link>
      <description>&lt;P&gt;This is great. Thank you so much.&lt;/P&gt;</description>
      <pubDate>Fri, 02 May 2025 17:22:04 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/incremental-load-on-materialized-views/m-p/117539#M45521</guid>
      <dc:creator>Dharinip</dc:creator>
      <dc:date>2025-05-02T17:22:04Z</dc:date>
    </item>
  </channel>
</rss>

