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 可用性”。 在数据库级别启用时,OneLake 中提供了所有新表及其数据。 启用该功能时,还可以选择通过选择“应用于现有表”选项将此选项应用于现有表。 在表级别启用后,只会使该表及其数据在 OneLake 中可用。 KQL 数据库的 数据保留策略 也应用于 OneLake 中的数据。 在保留期结束时从 KQL 数据库中删除的数据也会从 OneLake 中删除。 如果关闭“OneLake 可用性”,会从 OneLake 中软删除数据。
启用“OneLake 可用性”时,无法执行以下任务:
- 重命名表
- 更改表架构
- 将行级别安全性应用于表
- 无法删除、截断或清除数据
如果需要执行以下任一任务,请使用以下步骤:
重要
如果关闭“OneLake 可用性”,会软删除 OneLake 中的数据。 重新打开可用性时,OneLake 中仅提供新数据,且不会回填已删除的数据。
关闭“OneLake 可用性”。
执行所需的任务。
启用“OneLake 可用性”。
先决条件
打开 OneLake 可用性
可以在 KQL 数据库或表级别打开“OneLake 可用性”。
要启用“OneLake 可用性”,请在 KQL 数据库或表的详细信息窗格中浏览到“OneLake”部分。
将“可用性”设置为“开”。
数据库会自动刷新。
已在 KQL 数据库中打开了“OneLake 可用性”。 现在,可以在给定 OneLake 路径使用 Delta Lake 格式访问添加到数据库的所有新数据。 还可以选择从湖屋、数据仓库创建 OneLake 快捷方式,或者直接通过 Power BI Direct Lake 模式查询数据。
自适应行为
Eventhouse 提供了一种可靠的机制,可智能地将传入数据流批处理到一个或多个 Parquet 文件中,并进行结构化处理以便分析。 处理滴漏数据时,批处理数据流非常重要。 将多个小型 Parquet 文件写入湖中可能会效率低下,从而导致成本更高且性能不佳。
如果没有足够的数据来创建最佳 Parquet 文件,Eventhouse 的自适应机制可能会延迟写入操作。 这可确保 Parquet 文件的大小最佳,并遵循 Delta Lake 最佳做法。 Eventhouse 自适应机制可确保 Parquet 文件已做好分析准备,并在快速准备好数据的需求与成本和性能的考虑之间取得平衡。
注意
- 默认情况下,写入作最多可能需要 3 小时或直到创建足够大(通常为 200-256 MB)的文件。
- 可以将延迟调整为一个介于 5 分钟到 3 小时之间的值。
例如,使用以下命令将延迟设置为 5 分钟:
.alter-merge table <TableName> policy mirroring dataformat=parquet with (IsEnabled=true, TargetLatencyInMinutes=5);
警告
将延迟缩短可能会导致含有大量小文件的效率较低的 Delta 表,从而可能导致查询性能低下。 OneLake 中生成的表是只读的,创建后无法优化。
可以通过使用 .show 表镜像操作命令检查数据延迟来监视在湖中添加新数据的时间。
结果是从上次添加数据的过程中测量得到的。 当延迟结果为 00:00:00 时,KQL 数据库中的所有数据均在 OneLake 中可用。
查看文件
在表上打开“OneLake 可用性”时,系统将会创建一个增量日志文件夹,以及任何相应的 JSON 和 parquet 文件。 可以在查看 OneLake 中的可用文件及其属性时留在 Real-Time Intelligence 中。
若要查看文件,请在“资源管理器”窗格中将鼠标悬停表上,然后选择““更多”菜单[...]”>“查看文件”。
若要查看增量日志文件夹或单个文件的属性,请将鼠标悬停在文件夹或文件上,然后选择““更多”菜单[...]”>“属性”。
若要查看 delta 日志文件夹中的文件,请执行以下操作:
- 选择 _delta_log 文件夹。
- 选择一个文件以查看表元数据和架构。 打开的编辑器为只读格式。
访问镜像策略
默认情况下,打开 OneLake 可用性时,将启用镜像策略。 可以使用策略来监视数据延迟,或更改策略以对增量表进行分区。
注意
如果关闭 OneLake 可用性,镜像策略的 IsEnabled
属性将设置为 false (IsEnabled=false
)。
对增量表进行分区
可以对增量表进行分区以提高查询速度。 有关何时对 OneLake 文件进行分区的信息,请参阅何时对表进行分区。 每个分区使用 Partitions 列表中列出的 PartitionName 表示为单独的列。 这意味着 OneLake 副本的列数多于源表的列数。
若要对增量表进行分区,请使用 .alter-merge 表策略镜像命令。
相关内容
- 若要公开 OneLake 中的数据,请参阅在 OneLake 中创建快捷方式
- 若要在湖屋中创建 OneLake 快捷方式,请参阅湖屋中的快捷方式是什么?
- 若要从 KQL 数据库或表中的 OneLake 查询引用的数据,请参阅 在 KQL 数据库中创建 OneLake 快捷方式