了解 Fabric 中的数据仓库

已完成

Fabric 的湖屋是文件、文件夹、表和快捷方式的集合,充当数据湖的数据库。 它由 Spark 引擎和 SQL 引擎用于大数据处理,在使用开放源代码 Delta 格式表时具有适用于 ACID 事务的功能。

Fabric 的数据仓库体验可让你从湖屋的湖视图(支持数据工程和 Apache Spark)转换到传统数据仓库提供的 SQL 体验。 借助 Lakehouse,你能够读取表和使用 SQL 分析终结点,而数据仓库则会支持你操作数据。

在数据仓库体验中,你将使用表和视图对数据进行建模,运行 T-SQL 以跨数据仓库和湖屋查询数据,使用 T-SQL 对数据仓库中的数据执行 DML 操作,并提供 Power BI 等报表层。

现在,你已了解了关系数据仓库架构的基本体系结构原则,接下来了解如何创建数据仓库。

描述 Fabric 中的数据仓库

在 Fabric 中的数据仓库体验中,可以在湖屋中的物理数据的基础上构建关系层,并将其公开给分析和报表工具。 可以直接在 Fabric 中从“创建中心”或在“工作区”内创建数据仓库。 创建空仓库后,可以向其添加对象。

Fabric UI 的屏幕截图,显示了指向“创建中心”的一个箭头。

创建仓库后,可以直接在 Fabric 界面中使用 T-SQL 创建表。

将数据引入数据仓库

可通过多种方法将数据引入 Fabric 数据仓库,包括管道、数据流、跨数据库查询和 COPY INTO 命令。 引入后,数据可供多个业务组分析,这些业务组可以使用跨数据库查询和共享等功能对其进行访问。

创建表

若要在数据仓库中创建表,可以使用 SQL Server Management Studio (SSMS) 或其他 SQL 客户端连接到数据仓库并运行 CREATE TABLE 语句。 还可以直接在 Fabric UI 中创建表。

可以使用 COPY INTO 语法将数据从外部位置复制到数据仓库的表中。 例如:

COPY INTO dbo.Region 
FROM 'https://mystorageaccountxxx.blob.core.windows.net/private/Region.csv' WITH ( 
            FILE_TYPE = 'CSV'
            ,CREDENTIAL = ( 
                IDENTITY = 'Shared Access Signature'
                , SECRET = 'xxx'
                )
            ,FIRSTROW = 2
            )
GO

此 SQL 查询将数据从存储在 Azure Blob 存储中的 CSV 文件加载到 Fabric 数据仓库中名为“Region”的表中。

SQL 查询编辑器的屏幕截图,其中打开了一个查询。

克隆表

可以在数据仓库中创建存储成本最低的零复制表克隆。 这些克隆本质上是通过复制元数据创建的表的副本,同时仍引用 OneLake 中的相同数据文件。 这意味着存储为 parquet 文件的基础数据不会重复,有助于节省存储成本。

表克隆在一些方案中特别有用。

  • 开发和测试:克隆允许开发人员和测试人员在较低环境中创建表的副本,从而促进开发、调试、测试和验证过程。
  • 数据恢复:如果发布失败或数据损坏,表克隆可以保留以前的数据状态,从而可以实现数据恢复。
  • 历史报表:它们有助于创建历史报表,以反映特定时间点的数据状态,并保留特定业务里程碑处的数据。

可以使用 CREATE TABLE AS CLONE OF T-SQL 命令创建表克隆。

若要详细了解表克隆,请参阅教程:在 Microsoft Fabric 中使用 T-SQL 克隆表

表注意事项

在数据仓库中创建表后,请务必考虑将数据加载到这些表的过程。 一种常见方法是使用临时表。 在 Fabric 中,可以使用 T-SQL 命令将数据从文件加载到数据仓库中的临时表中。

临时表是可用于执行数据清理、数据转换和数据验证的临时表。 还可以使用临时表将数据从多个源加载到单个目标表中。

通常,数据加载是作为一个周期性批处理过程来执行的,对数据仓库的插入和更新是以固定的时间间隔(例如每天、每周或每月)进行协调的。

一般来说,应实现按以下顺序执行任务的数据仓库加载流程:

  1. 引入要加载到数据湖中的新数据,根据需要应用预加载清理或转换。
  2. 将文件中的数据加载到关系数据仓库中的临时表中。
  3. 从临时表中的维度数据加载维度表,根据需要更新现有行或插入新行并生成代理键值。
  4. 从临时表中的事实数据加载事实数据表,查找相关维度的相应代理键。
  5. 通过更新索引和表分布统计信息执行加载后优化。

如果 Lakehouse 中有表,并且你希望能够使用 Fabric 数据仓库在你的仓库中查询它,但不进行更改,则无需将数据从 Lakehouse 复制到数据仓库。 可以使用跨数据库查询直接从数据仓库查询湖屋中的数据。

重要

使用 Fabric 数据仓库中的表目前存在一些限制。 有关详细信息,请参阅 Microsoft Fabric 中的数据仓库中的表