用途:把 Optimizer 产出的元数据变更提案应用到 Genie Space,并部署优化后的空间。输入来自 Orchestrator,包括 space_id、candidate、lever_map、domain、patch_set、space_config、use_patch_dsl、deploy_target;输出 apply_status、apply_log、files_modified、deploy_status。
主要能力:按优先级使用六个控制杠杆——UC 表与列、Metric Views、TVF、监控表、ML 模型表、Genie Instructions。每次变更同时写入实时 API/SQL 与仓库文件(双持久化)。支持 Patch DSL 渲染器,将 31 种 PATCH_TYPES 转为可执行动作,含 action_type、target、command、rollback_command、risk_level;apply_patch_set() 流程为快照→渲染→分类→执行→快照→日志,幂等并支持按 apply_log 逆序回滚。风险分级:低风险自动应用,中风险自动应用后过 P0 门,高风险仅提案并通知用户,合规标签永不自动移除。
使用方式:两种调用模式——循环中 deploy_target=None 仅走 API 并更新仓库文件;循环后 deploy_target="dev" 执行应用、bundle 部署与 Genie 作业。三阶段部署:A 循环中直接 API/SQL 加更新仓库文件;B 循环结束执行 databricks bundle validate 与 deploy;C 执行 databricks bundle run genie_spaces_deployment_job。USE_PATCH_DSL 默认 True,旧路径仅通过 --no-patch-dsl 显式启用。
适用场景:应用 Optimizer 提案、部署优化后的 Genie Space、部署后验证、回归检测后回滚。
限制与注意:数组须排序后再 PATCH;serialized_space 须为 JSON 字符串;实体 ID 须为 32 位十六进制 UUID;模板变量须在 API 调用前解析、写回仓库前重新模板化;Metric View 不能用 ALTER TABLE,须走 Lever 2 的 CREATE OR REPLACE VIEW;TVF 注释须整体替换函数;Genie Instructions 约 4000 字符上限。detect_asset_type() 未在 applier 中实现,资产类型由 orchestrator 预先判定。具体收费、价格与平台支持范围暂未提供。