<?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: Delta Live table in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/delta-live-table/m-p/121164#M46362</link>
    <description>&lt;P&gt;&lt;STRONG&gt;apply changes on the silver layer, it is updating the records successfully coming from the bronze table.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;As you mentioned above this is what happening ..&lt;/P&gt;</description>
    <pubDate>Fri, 06 Jun 2025 20:19:35 GMT</pubDate>
    <dc:creator>Ranga_naik1180</dc:creator>
    <dc:date>2025-06-06T20:19:35Z</dc:date>
    <item>
      <title>Delta Live table</title>
      <link>https://community.databricks.com/t5/data-engineering/delta-live-table/m-p/121091#M46333</link>
      <description>&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;I'm working on a databricks delta live table(DLT) pipe line where we receive daily fully sanshot csv files in azure cloud storage .These files contain HR data (eg.employee file) and i'm using autoloader to ingest them into bronze layer DLT table.&lt;/P&gt;&lt;P&gt;My goal is to:&lt;/P&gt;&lt;P&gt;1.Detect changes in this snapshot data (Inserts/deletes/updates) at the bronze layer..and every insert and update should be appended to another table .(to append i'm using apply changes api here ,scd1,by using all columns as key columns ) so whatever changes its treat it as new record&amp;nbsp;&lt;/P&gt;&lt;P&gt;2.On top of appended table wanted to create scd type1 and scd type 2 dimensions table using apply chnages api.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;question:Can i reference an apply changes into(First) output as input to apply changes into (Second) in the same pipeline/or need to use different piepline suggest a better solution&lt;/P&gt;</description>
      <pubDate>Thu, 05 Jun 2025 19:14:46 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/delta-live-table/m-p/121091#M46333</guid>
      <dc:creator>Ranga_naik1180</dc:creator>
      <dc:date>2025-06-05T19:14:46Z</dc:date>
    </item>
    <item>
      <title>Re: Delta Live table</title>
      <link>https://community.databricks.com/t5/data-engineering/delta-live-table/m-p/121096#M46334</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/167373"&gt;@Ranga_naik1180&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Yes, You Can Chain APPLY CHANGES INTO Operations in the Same Pipeline.&lt;/P&gt;&lt;P&gt;You can reference the output of one APPLY CHANGES INTO operation as input to another APPLY CHANGES INTO operation within the same DLT pipeline. This is a supported pattern and actually quite common for building layered SCD architectures.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 05 Jun 2025 19:45:18 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/delta-live-table/m-p/121096#M46334</guid>
      <dc:creator>lingareddy_Alva</dc:creator>
      <dc:date>2025-06-05T19:45:18Z</dc:date>
    </item>
    <item>
      <title>Re: Delta Live table</title>
      <link>https://community.databricks.com/t5/data-engineering/delta-live-table/m-p/121154#M46358</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/167373"&gt;@Ranga_naik1180&lt;/a&gt;, adding to the above point:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Since we have enabled the apply changes on the silver layer, it is updating the records successfully coming from the bronze table.Now, in the silver layer, that record is marked as an UPDATE instead of an INSERT, so we need to enable change data feed in the source table(silver layer table) of the gold layer.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To resolve this, we can go with the below solution:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;To enable it, follow the process below:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Enable the change data feed in the silver table:&lt;/LI&gt;
&lt;/UL&gt;
&lt;LI-CODE lang="python"&gt;dlt.create_target_table(

name="silver",

table_properties = {"delta.enableChangeDataFeed": "true"}

)&lt;/LI-CODE&gt;
&lt;UL&gt;
&lt;LI&gt;Read change data feed from source table:&lt;/LI&gt;
&lt;/UL&gt;
&lt;LI-CODE lang="markup"&gt;@dlt.view

def intermediate_update_view():

  return (

    spark.readStream

    .option("readChangeFeed", "true")

    .table("source_table")

    .filter(col("_change_type").isin(["update_postimage", "insert", "delete"]))

  )&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 06 Jun 2025 18:11:47 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/delta-live-table/m-p/121154#M46358</guid>
      <dc:creator>nikhilj0421</dc:creator>
      <dc:date>2025-06-06T18:11:47Z</dc:date>
    </item>
    <item>
      <title>Re: Delta Live table</title>
      <link>https://community.databricks.com/t5/data-engineering/delta-live-table/m-p/121163#M46361</link>
      <description>&lt;P&gt;HI&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/30672"&gt;@nikhilj0421&lt;/a&gt;&amp;nbsp;,I&amp;nbsp;get full snapshot file daily. I'm using auto loader to load file to bronze DLT table after that i'm applying apply changes to implement scd1(all columsn as key so update/delete may get inserted), changed records and store all delta records (Append source) to silver table ...after that i will use apply changes again to create gold tables(Dimesnisons)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;This is my requirement . 1.need to capture daily changes in once table and use that table as append source ..and implement scd/scd1 using apply changes ..so if i use change data feed on silver table will it work ? require more detailed understanding on this if possible, please&lt;/STRONG&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 06 Jun 2025 20:17:44 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/delta-live-table/m-p/121163#M46361</guid>
      <dc:creator>Ranga_naik1180</dc:creator>
      <dc:date>2025-06-06T20:17:44Z</dc:date>
    </item>
    <item>
      <title>Re: Delta Live table</title>
      <link>https://community.databricks.com/t5/data-engineering/delta-live-table/m-p/121164#M46362</link>
      <description>&lt;P&gt;&lt;STRONG&gt;apply changes on the silver layer, it is updating the records successfully coming from the bronze table.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;As you mentioned above this is what happening ..&lt;/P&gt;</description>
      <pubDate>Fri, 06 Jun 2025 20:19:35 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/delta-live-table/m-p/121164#M46362</guid>
      <dc:creator>Ranga_naik1180</dc:creator>
      <dc:date>2025-06-06T20:19:35Z</dc:date>
    </item>
    <item>
      <title>Re: Delta Live table</title>
      <link>https://community.databricks.com/t5/data-engineering/delta-live-table/m-p/121170#M46366</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/167373"&gt;@Ranga_naik1180&lt;/a&gt;, let's take an example to understand this:&lt;/P&gt;
&lt;P class="p1"&gt;&lt;STRONG&gt;Flow of the pipeline: &lt;/STRONG&gt;Bronze -&amp;gt; Silver -&amp;gt; Gold&lt;/P&gt;
&lt;P class="p1"&gt;&lt;STRONG&gt;In Storage: &lt;/STRONG&gt;You have 2 files, 1.json is the original file, and 2.json is updating the value of b in the new file from b to b_new.&amp;nbsp;&lt;/P&gt;
&lt;P class="p1"&gt;1.json -&amp;gt; {A: “a”, B: “b”}&lt;/P&gt;
&lt;P class="p1"&gt;2.json -&amp;gt; {A: “a”, B: “b_new”}&lt;/P&gt;
&lt;P class="p1"&gt;Then,&amp;nbsp;&lt;STRONG&gt;changeFeed&lt;/STRONG&gt;&amp;nbsp;is a solution&lt;/P&gt;
&lt;P class="p1"&gt;&lt;STRONG&gt;_delta_log &lt;/STRONG&gt;-&amp;gt; This will have the entries as updates for the updated entry, but _change_feed will take that as an insert operation. Since the streaming supports append-only, that's why we need to read from the&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;_change_feed &lt;/STRONG&gt;because it has both operations as INSERT.&lt;/P&gt;
&lt;P class="p1"&gt;Abc1.parquet&lt;/P&gt;
&lt;P class="p1"&gt;{A: “a”, B: “b”} (INSERT)&lt;/P&gt;
&lt;P class="p1"&gt;Abc2.parquet&lt;/P&gt;
&lt;P class="p1"&gt;{A: “a”, B: “b_new”} (UPDATE)&lt;/P&gt;
&lt;P class="p1"&gt;&lt;STRONG&gt;_change_feed&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class="p1"&gt;abc1_change.parquet (INSERT)&lt;/P&gt;
&lt;P class="p1"&gt;{A: “a”, B: “b”, “change_type”: “INSERT”}&lt;/P&gt;
&lt;P class="p1"&gt;abc2_change.parquet (INSERT)&lt;/P&gt;
&lt;P class="p1"&gt;{A: “a”, B: “b”, “change_type”: “UPDATE”, “change_image”: “pre_image”}&lt;/P&gt;
&lt;P class="p1"&gt;{A: “a”, B: “b_new”, “change_type”: “UPDATE”, “change_image”: “post_image”}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 07 Jun 2025 01:30:51 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/delta-live-table/m-p/121170#M46366</guid>
      <dc:creator>nikhilj0421</dc:creator>
      <dc:date>2025-06-07T01:30:51Z</dc:date>
    </item>
    <item>
      <title>Re: Delta Live table</title>
      <link>https://community.databricks.com/t5/data-engineering/delta-live-table/m-p/121210#M46376</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/30672"&gt;@nikhilj0421&lt;/a&gt;&amp;nbsp;&amp;nbsp;Thanks&amp;nbsp;for your clarification,if i use python dlt code for me solution is working ..but i just need another help&amp;nbsp;&lt;/P&gt;&lt;P&gt;for below code what will be the equivalent SQL code .. when i'm trying to use&amp;nbsp;&lt;/P&gt;&lt;P&gt;create or replace temporary view intermediate_view as select * from table_chnage(source,2) where _change_type("insert");&lt;/P&gt;&lt;P&gt;apply_chnages into&amp;nbsp;&lt;/P&gt;&lt;P&gt;target_table="golde_layer_tbl"&lt;/P&gt;&lt;P&gt;source_table="intemediate_view" if give like this getting an error that view is not a stream table so ..how i can tackle this ..&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;@dlt.view

def intermediate_update_view():

  return (

    spark.readStream

    .option("readChangeFeed", "true")

    .table("source_table")

    .filter(col("_change_type").isin(["update_postimage", "insert", "delete"]))

  )&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 08 Jun 2025 20:41:56 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/delta-live-table/m-p/121210#M46376</guid>
      <dc:creator>Ranga_naik1180</dc:creator>
      <dc:date>2025-06-08T20:41:56Z</dc:date>
    </item>
    <item>
      <title>Re: Delta Live table</title>
      <link>https://community.databricks.com/t5/data-engineering/delta-live-table/m-p/121639#M46511</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/167373"&gt;@Ranga_naik1180&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;There is no need to create an intermediate view in SQL. You can directly read the change data feed from silver into the gold table. You can use the code something like below:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;CREATE STREAMING LIVE TABLE gold_table
AS SELECT * 
FROM table_changes('live.silver_table', 0); -- Reads change feed starting from version 0&lt;/LI-CODE&gt;
&lt;P&gt;Please let me know if this works for you.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 12 Jun 2025 17:28:10 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/delta-live-table/m-p/121639#M46511</guid>
      <dc:creator>nikhilj0421</dc:creator>
      <dc:date>2025-06-12T17:28:10Z</dc:date>
    </item>
  </channel>
</rss>

