SuperAPI AI 工具集

report-to-databricks-app

数据与分析

查看项目

更新于 10-16 03:14

技能介绍

用途:这是受治理报表核心的第二个消费者,把离线渲染的报表契约变成 Databricks Apps 上的交互式应用,复用同一批 SQL 文件、参数和执行身份。它只负责把契约正确带入应用并维持一致,不负责脚手架、界面设计与部署。

主要能力:物化契约——查询按字节复制到 config/queries/ 并保留 .obo.sql 后缀,绑定 metric-views/definitions.json,config/report.manifest.json 记录契约版本与每文件 SHA-256,契约中删除的查询会从应用移除;从仓库生成类型并提交;用 --check 在 CI 中检测漂移,非零退出。

使用方式:先校验契约(validate_contract.py),加载 databricks-core、databricks-apps、databricks-app-design,询问用户 profile;用 databricks apps manifest 与 init --features analytics 搭建;运行 materialize_app.py --contract reports/<name> --app apps/<app>;用 npx @databricks/appkit generate-types --wait 生成类型;验证与部署用 databricks apps validate/get;最后做同参数同身份的冒烟对账。

适用场景:已验证契约需变为交互式应用、报表与应用数字不一致、应用 SQL 被手工修改需回归契约、CI 需在应用副本漂移时失败。无契约的应用应使用 databricks-apps,界面设计用 databricks-app-design,DAB 结构用 databricks-dabs,托管仪表盘用 databricks-aibi-dashboards。

限制与注意:手工编辑 config/queries/ 即漂移;新增查询比改写更危险,因会以服务主体身份执行;重命名 x.obo.sql 会改变数据暴露范围;同名 x.sql 与 x.obo.sql 不能并存;useMetricView 依赖 definitions.json;指标排序用 SELECT 别名,limit 配 orderBy;LIMIT 用 sql.int();DECIMAL 与大 BIGINT 以字符串到达需先转换;冒烟检查不覆盖全部参数组合与缓存状态。详细分工与类型生成失败分类见 references/app-adapter.md。