1. 简单介绍
Microsoft Fabirc中的Delta table是一种适用于Spark的关系存储层,是一种基于Parquet文件的Table。这边尝试一下在Microsoft Fabric Delta table。
2.具体说明
2.1 创建Lakehouse
- 点击workspace中的New item

- 点击Lakehouse选项,创建一个Lakehouse


- 创建一个subfolder并导入OlympicsMetalsData.csv文件

2.2 创建Notebook
- 点击New notebook 菜单项创建一个notebook

- 显示一下OlympicsMetalsData.csv文件的数据

df = spark.read.format("csv").option("header","true").load("Files/OlympicsData/OlympcisMetalsData.csv")
display(df)
2.3 创建一个托管的Table

df.write.format("delta").saveAsTable("managed_olympicsmetalsdata")
发现Lakehouse确实有一个table managed_olympicsmetalsdata 生成

2.4 创建一个External table
点击Files文件夹右边的...,选择Copy ABFS path

下面是在Notebook中执行的语句, 其中[your copied ABFS path]是copy出来的ABFS path,
df.write.format("delta").saveAsTable("external_olympicsmetalsdata", path="[your copied ABFS path]/external_olympicsmetalsdata")

执行创建external table的语句,刷新Lakehouse的Tables和Files文件夹,发现Lakehouse的有对应的external table(external_olympicsmetalsdata)产生,同时也产生了一个文件夹external_olympicsmetalsdata,文件夹下面是数据文件


2.5 Drop Table
执行下面的SQL语句,删除前两步骤中创建的托管和external table

2.6 托管和external Table的不同
刷新Lakehouse的Tables文件夹,发现之前创建的两个table已经被drop了

但是external table external_olympicsmetalsdata对应的外部数据文件还存在

依然可以通过外部的数据文件进行Delta table的创建,如下图

刷新Lakehouse,发现delta table有创建好

同时执行查询delta table的语句,也可以把奥运会的数据查询出来

3.总结
本文简单记录了一下在Microsoft Fabric Spark中使用Delta Table的一些过程,Microsoft Fabric的内容体系非常庞大,同时新的feature更新得也很快,还需继续向Microsoft Fabric专家们学习一下。
本文如果哪里有错误,麻烦告之,谢谢谢谢!