1. 简单介绍
在Microsoft Fabric中,我们可以使用shortcut去创建一个到外部数据源的引用,这样就不需要把外部数据源的数据物理拷贝到Microsoft Fabric中了,增强了Microsoft Fabric对数据源的访问能力,同时减少了重复数据的产生。
2025年微软增加了一个shortcut transformation的特性,简化了将csv文件转换为delta table的流程,同时保证对csv数据源的变更(增加,删除,更改)能一直同步到目标delta tables中。按照微软老师的说法,后面还会在shortcut transofrmations中引入AI的能力,比如Sentiment, Text Summary, Translate, PII detection(敏感信息简称,处理后的效果有点类似Data Masking)。

这边将尝试一下Microsoft Fabric的新特性shortcut transformation
2.具体说明
2.1 创建lakehouse
- 当前数据源是csv文件,分成亚洲,欧洲,美洲和其他洲的数据

下面是csv中存放的数据

- 假定已经创建了一个lakehouse用来存储2024年巴黎奥运会的奖牌数据,如下图所示,

- 同时已经在lakehouse中导入了美洲的奥运数据,

后面将利用shortcut transformation技术,将csv的数据源同步到lakehouse delta table中
2.2 创建Shortcut
- 点击lakehouse中的Tables文件夹右侧的...,在下拉菜单中点击New shortcut选项,

2)在New shortcut窗口中,选择 Microsoft OneLake,然后点击窗口下面的Next按钮,

- 在Select a data source type窗口中,选择创建好的lakehouse

- 在新窗口中,选择lakehouse Files文件夹下面的olympics2024子文件夹(上传的数据存放在这个子文件夹中),然后点击Next按钮

5)在新窗口中,点击Next按钮

- 确认New shortcut中的信息,点击Create进行shortcut创建,

- 最后在lakehouse中生成了一个新的delta table(olympics2024)

查看一下delta table中的奥运数据总数是18,

2.3 测试数据同步
2.3.1 增加数据的同步
- 向lakehouse的olympics2024子文件夹中上传欧洲部分的奥运会数据,


- 点击lakehouse delta table 右侧的...,然后点击Refresh按钮,

3)发现delta table的数据总数变成了47,表示新增的csv数据已经被同步到delta table了。

同时delta table中也增加了欧洲部分对应的parquet文件,如下图所示,

- 继续向lakehouse中添加亚洲部分的奥运会数据csv数据

- 这次不要点击delta table的Refresh按钮,等待2分钟时间,然后查看delta table(olympics2024)中的数据,发现亚洲部分的数据也自动增加到delta table中了,数据总数变成了75

Shortcut transformation engine会监测数据源的变化,每2分钟同步一次数据,这样就不需要自己去配置定时刷新的作业了,保证delta table和数据源的数据一直是同步的状态。
note, 以上结果表示配置了Shortcut transformation之后,新增的数据是可以同步成功的。
2.3.2 删除数据的同步
1)在lakehouse中删除亚洲部分的奥运会数据


2)刷新delta table(olympics2024)或者等待一些时间(超过2分钟),发现delta table(olympics2024)中的数据总数变回了47

note, 以上结果表示配置了Shortcut transformation之后,删除的数据是同步成功的,
2.3.3 变更数据的同步
- 在lakehouse中,变更csv中的源数据如下, 点击Save按钮


2)等待一些时间(超过2分钟)或者点击Delta table(olympics2024)的Refresh按钮,会发现delta table中的数据也进行了变更了。

也可以使用SQL语句进行一下查询, 如下图所示,

note, 以上结果表示配置了Shortcut transformation之后,变更的数据是可以同步的,
3.总结
本文简单记录了一下Microsoft Fabric中新特性Shortcut Transformaion的使用过程。后续还需继续跟着微软老师学习一下。
本文如果哪里有错误,麻烦告之,谢谢谢谢!