Eventhouse OneLake 可用性

可以通过打开“OneLake 可用性”在 Eventhouse 中创建 KQL 数据库数据的逻辑副本。 打开“OneLake 可用性”后,你将能够通过其他 Fabric 引擎(例如 Power BI 中的 Direct Lake 模式以及仓库、湖屋和笔记本等)以 Delta Lake 格式查询 KQL 数据库中的数据。

Delta Lake 是一种统一的 Data Lake 表格式,可跨 Microsoft Fabric 中的所有计算引擎实现无缝数据访问。 有关 Delta Lake 的详细信息,请参阅什么是 Delta Lake?

本文介绍例如如何在 OneLake 中打开 KQL 数据库的数据可用性功能。

工作原理

下表描述了打开或关闭“OneLake 可用性”时 KQL 数据库和表的行为。

已打开 已关闭
KQL 数据库 - 现有表不受影响。 OneLake 中提供了新表。
- KQL 数据库的数据保留策略也适用于 OneLake 中的数据。 在保留期结束时从 KQL 数据库中删除的数据也会从 OneLake 中删除。
- 现有表不受影响。 新表在 OneLake 中不可用。
KQL 数据库中的表 - OneLake 中提供了新数据。
- 现有数据不会回填。
- 无法删除、截断或清除数据。
- 无法更改表架构,并且无法重命名表。
- 行级别安全性不能应用于表。
- OneLake 中不提供新数据。
- 可以删除、截断或清除数据。
- 可更改表架构,也可重命名表。
- 数据会从 OneLake 中软删除。。

重要

数据可能需要几个小时才能显示在 OneLake 中。 有关详细信息,请参阅自适应行为

打开 OneLake 可用性无需额外的存储成本。 有关详细信息,请参阅资源消耗

先决条件

打开 OneLake 可用性

可以在 KQL 数据库或表级别打开“OneLake 可用性”。

  1. 若要打开 OneLake 可用性,请在 KQL 数据库或表的详细信息窗格中浏览到 OneLake 部分。

  2. 将可用性设置为“开”。

    “实时智能”中“数据库详细信息”窗格的 OneLake 部分的屏幕截图,其中突出显示了“可用性”选项。

  3. 数据库会自动刷新。

    将可用性设置为“打开”后,Microsoft Fabric 中的“OneLake”部分详细信息的屏幕截图。打开向 OneLake 公开数据的选项。

已在 KQL 数据库中打开了“OneLake 可用性”。 现在,可以在给定 OneLake 路径使用 Delta Lake 格式访问添加到数据库的所有新数据。 还可以选择从湖屋、数据仓库创建 OneLake 快捷方式,或者直接通过 Power BI Direct Lake 模式查询数据。

自适应行为

Eventhouse 提供了一种可靠的机制,可智能地将传入数据流批处理到一个或多个 Parquet 文件中,并进行结构化处理以便分析。 处理滴漏数据时,批处理数据流非常重要。 将多个小型 Parquet 文件写入湖中可能会效率低下,从而导致成本更高且性能不佳。

如果没有足够的数据来创建最佳 Parquet 文件,Eventhouse 的自适应机制可能会延迟写入操作长达数小时。 这可确保 Parquet 文件的大小最佳,并遵循 Delta Lake 最佳做法。 Eventhouse 自适应机制可确保 Parquet 文件已做好分析准备,并在快速准备好数据的需求与成本和性能的考虑之间取得平衡。

可以通过使用 .show 表镜像操作命令检查数据延迟来监视在湖中添加新数据的时间。

结果是从上次添加数据的过程中测量得到的。 当延迟结果为 00:00:00 时,KQL 数据库中的所有数据均在 OneLake 中可用。

查看文件

在表上打开“OneLake 可用性”时,系统将会创建一个增量日志文件夹,以及任何相应的 JSON 和 parquet 文件。 可以在查看 OneLake 中的可用文件及其属性时留在 Real-Time Intelligence 中。

  • 若要查看文件,请在“资源管理器”窗格中将鼠标悬停表上,然后选择““更多”菜单[...]”>“查看文件”。

    资源管理器窗格屏幕截图,其中显示了表的“更多”菜单下拉列表。

  • 若要查看增量日志文件夹或单个文件的属性,请将鼠标悬停在文件夹或文件上,然后选择““更多”菜单[...]”>“属性”。

  • 若要查看 delta 日志文件夹中的文件,请执行以下操作:

    1. 选择 _delta_log 文件夹。
    2. 选择一个文件以查看表元数据和架构。 打开的编辑器为只读格式。

访问镜像策略

默认情况下,打开 OneLake 可用性时,将启用镜像策略。 可以使用策略来监视数据延迟,或更改策略以对增量表进行分区

注意

如果关闭 OneLake 可用性,镜像策略的 IsEnabled 属性将设置为 false (IsEnabled=false)。

对增量表进行分区

可以对增量表进行分区以提高查询速度。 有关何时对 OneLake 文件进行分区的信息,请参阅何时对表进行分区。 每个分区使用 Partitions 列表中列出的 PartitionName 表示为单独的列。 这意味着 OneLake 副本的列数多于源表的列数。

若要对增量表进行分区,请使用 .alter-merge 表策略镜像命令。