This time weโre going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreGet Fabric Certified for FREE during AI Skills Fest. This week only. Secure your voucher now.
๐ ๐ถ๐ฐ๐ฟ๐ผ๐๐ผ๐ณ๐ ๐๐ฎ๐ฏ๐ฟ๐ถ๐ฐ ๐๐ผ๐ฝ๐ ๐๐ฐ๐๐ถ๐๐ถ๐๐ + ๐๐ฒ๐น๐๐ฎ ๐จ๐ฝ๐๐ฒ๐ฟ๐ is honestly one of the most underrated features in Fabric for high-performance operational data loading.
We can now:
โข Read directly from sources such as SQL Server / SQL DB
โข Write directly into Lakehouse Delta Tables
โข Use native Upsert mode
โข Avoid Spark notebooks completely
โข Avoid Parquet staging/intermediate layers
โข Achieve very fast sync performance with only ONE Copy Activity
Iโm currently using this approach to dynamically load and merge data from multiple SQL Server store databases into consolidated Delta tables in Microsoft Fabric Lakehouse.
However, there is one very important feature still missing from Copy Activity Upsert.
๐ ๐๐ผ๐๐น๐ฑ ๐น๐ผ๐๐ฒ ๐๐ผ ๐๐ฒ๐ฒ ๐ป๐ฎ๐๐ถ๐๐ฒ ๐๐๐ฝ๐ฝ๐ผ๐ฟ๐ ๐ณ๐ผ๐ฟ ๐ฎ๐๐๐ผ-๐บ๐ฎ๐ป๐ฎ๐ด๐ฒ๐ฑ ๐ฎ๐๐ฑ๐ถ๐ / ๐๐ช ๐ฐ๐ผ๐น๐๐บ๐ป๐ during Upsert operations.
My requirement is:
In the destination Delta table, I need these columns:
โข DW_DATE_INSERT
โ Datetime when a NEW record is inserted through Upsert
โข DW_DATE_UPDATE
โ Datetime when an EXISTING record is updated through Upsert
โข DW_LOAD_DATE
โ Maximum of DW_DATE_INSERT and DW_DATE_UPDATE
(meaning the latest insert/update datetime)
Expected behavior:
โข If INSERT occurs:
DW_DATE_INSERT should be populated
DW_DATE_UPDATE should remain NULL
โข If UPDATE occurs:
DW_DATE_UPDATE should be updated
DW_DATE_INSERT should remain unchanged with its original value
Currently, adding these columns dynamically in the Source โ Additional Columns section is NOT a solution.
Why?
Because these datetime values change every execution, the Upsert process detects every row as changed and re-updates all records again and again, even when business data has not changed.
Of course, I know this can be handled using Spark / Notebook MERGE logic.
But the whole beauty of this approach is:
๐ก๐ผ ๐ป๐ผ๐๐ฒ๐ฏ๐ผ๐ผ๐ธ๐.
๐ก๐ผ ๐ฆ๐ฝ๐ฎ๐ฟ๐ธ ๐๐๐ฎ๐ฟ๐๐๐ฝ ๐น๐ฎ๐๐ฒ๐ป๐ฐ๐.
๐ก๐ผ ๐ฒ๐
๐๐ฟ๐ฎ ๐บ๐ฒ๐ฟ๐ด๐ฒ ๐น๐ฎ๐๐ฒ๐ฟ.
๐๐๐๐ ๐ผ๐ป๐ฒ ๐ณ๐ฎ๐๐ ๐๐ผ๐ฝ๐ ๐๐ฐ๐๐ถ๐๐ถ๐๐.
It would be amazing if Microsoft could add native insert/update audit column handling directly inside Copy Activity Upsert for Delta Lakehouse tables.
This would make Copy Activity even more powerful for very fast enterprise operational sync workloads.
If you think this feature would be useful, please vote/support this idea so we can hopefully get it added to Fabric ๐
#MicrosoftFabric #DataEngineering #DeltaLake #Lakehouse #ETL #ELT #OneLake #SQLServer #Fabric #Microsoft #AnalyticsEngineering
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.