通过 Microsoft Fabric 管道中的“刷新 SQL 终结点”活动,你可以以编程方式刷新 Lakehouse SQL 终结点作为协调工作流的一部分。 此方法可确保下游使用者(如 Power BI 报表、笔记本或外部 SQL 客户端)在数据准备或维护步骤完成后查看最新数据。
使用此活动使 SQL 终结点立即反映最近的更新,而无需依赖手动刷新或临时进程。 在管道需要时使用此活动:
- 更新或维护 Lakehouse 数据(例如在完成复制任务、笔记本运行或 Lakehouse 维护活动之后)。
- 要求 Lakehouse SQL 终结点反映最新的元数据和数据更改。
- 在下游步骤(如报告、分析或导出)之前,需要确定性的刷新时间。
先决条件
使用此活动之前,请确保:
- 具有有效订阅的租户帐户。 免费创建帐户。
- 具有 Lakehouse 的工作区
- Lakehouse 拥有 SQL 终结点。
- 管道标识(用户或服务主体)有权 刷新 SQL 终结点。
在 UI 中向管道添加刷新 SQL 终结点活动
在工作区中创建新管道。
在“管道活动”窗格中搜索“刷新 SQL 终结点”,并选择它将其添加到管道画布。
如果尚未选择,请在画布上选择新的 刷新 SQL 终结点 活动。
若要配置“常规”设置选项卡,请参阅“常规”设置指导。
刷新 SQL 终结点活动设置
选择 “设置” 选项卡以配置活动。
通过从 “连接 ”下拉列表中选择现有连接或创建新连接并指定其配置详细信息来配置连接。
指定包含 Lakehouse 的 工作区 。
指定包含具体化湖视图的 SQL 终结点 以进行刷新。 此 SQL 终结点属于您要刷新其 SQL 终结点的 Lakehouse。 与所选 Lakehouse 关联的 SQL 终结点。
活动行为
活动运行完成后:
如果“输出”弹出窗口显示 “成功 ”状态,请求将成功同步未同步的数据。
“输出”弹出窗口中的 NotRun 状态表示未运行 SQL 终结点的刷新。 该条件通常意味着你自上次同步以来没有添加新数据,因此无需运行它。
如果“输出”弹出窗口显示 “失败 ”状态,则出现问题。
注释
活动运行在“输出”弹出窗口中设置这些状态。 不要将这些状态与活动状态本身混淆。
常见场景
- 在 Notebook 将转换后的数据写入 Lakehouse 后,刷新 SQL 端点。
- 优化或清空操作完成后触发 SQL 终结点刷新。
- 确保报表和仪表板在管道的特定节点查询最新的 Lakehouse 状态。
为什么在基础数据被锁定时,我的 SQL 终端刷新会失败?
当其他进程主动更新基础 Lakehouse 数据时,刷新 SQL 终结点活动可能会间歇性失败。 这些进程包括引入管道、笔记本或并发写入操作。
发生此失败的原因是 SQL 终结点需要获取内部锁才能完成刷新。 如果另一个操作锁定数据,则请求超时或返回错误。
此行为应基于 SQL 终结点如何管理元数据刷新操作。
症状
- 活动是间歇性失败的,而不是持续失败。
- 错误信息显示刷新冲突或锁争用。
- 具有多个顺序刷新 SQL 端点活动的管道显示了更高的失败率。
根源
SQL 终结点需要在刷新期间对某些元数据结构进行独占访问。 如果另一个计算进程同时写入 Lakehouse,则会发生锁争用。
此行为不是刷新 SQL 终结点活动中的缺陷。 这是对基础数据的并发读取和写入操作的自然结果。
解决方法
两种实际方法可以缓解此问题:
在处理结束时只使用一个刷新 SQL 端点活动
若要减少锁冲突的可能性,请合并管道,以便:
- 所有引入、转换和更新操作优先运行,
- 然后,在末尾只执行一个 Refresh SQL Endpoint 活动。
- 此方法不会完全消除故障,但大大减少了故障的发生频率。
实现定期刷新计划
如果方案在特定时刻不需要严格的事务一致性,请采用定期刷新模式:
- 连续不断地每 15 分钟安排一次刷新。 由于锁定,某些刷新尝试可能会失败,但足以使 SQL 终结点保持最新状态。
对于许多分析工作负荷,此方法非常实用且可靠。
保存并运行或调度流水线
切换到管道编辑器顶部的“ 开始 ”选项卡,然后选择保存按钮以保存管道。 选择 “运行 ”以直接运行,或 计划 以按特定时间或间隔计划运行。 有关管道运行的详细信息,请参阅: 计划管道运行。
运行后,可以从画布下方的“ 输出 ”选项卡监视管道执行并查看运行历史记录。
已知问题
- 当其他进程主动更新基础 Lakehouse 数据时,刷新 SQL 终结点活动可能会间歇性失败。 有关解决方法,请参阅“ 为什么我的 SQL 终结点刷新在基础数据锁定时失败?”