重要
在 Databricks Runtime 12.2 LTS 及更高版本中,对 Photon 加速更新的支持为公共预览版。
Photon 利用删除向量通过在 Delta 表上进行数据修改时降低完整文件重写的频率来加速更新。 Photon 优化 DELETE
、MERGE
和 UPDATE
操作。 请参阅什么是删除向量?。
当更新或删除任何记录时,Photon 不会重写数据文件中的所有记录,而是使用删除向量来指示记录已从目标数据文件中删除。 补充数据文件用于指示更新。
对表的后续读取通过将记录的更改应用于最新的表版本来解析当前表状态。
备注
支持读取删除向量的所有客户端都可以读取 Photon 更新。 请参阅 Azure Databricks 如何管理 Delta Lake 功能兼容性?。
在启用 Photon 的情况下使用计算时,会自动对所有启用了删除矢量的表使用加速更新。
可以通过设置一个 Delta Lake 表属性来启用对 Delta Lake 表的删除向量的支持:
ALTER TABLE <table-name> SET TBLPROPERTIES ('delta.enableDeletionVectors' = true);
警告
启用删除向量时,表协议版本将会升级。 表协议版本升级是不可逆的。 升级后,不支持删除向量的 Delta Lake 客户端无法读取该表。 请参阅 Azure Databricks 如何管理 Delta Lake 功能兼容性?。
Photon 加速更新与删除向量共享所有限制。 请参阅限制。