用途
该技能用于在 Databricks 上创建和管理 AI/BI 仪表板(原 Lakeview 仪表板)。Databricks 仪表板具有独特的 JSON 结构,因此创建、更新或部署时必须使用本技能。仪表板面向人类展示,通常顶部显示 KPI,并根据叙述展示图形(常为时间序列),以呈现「发生了什么」。
主要能力
- 组件选择:默认使用标准 widget。当标准 widget 无法表达所需可视化时使用 Vega-Lite。不同聚合、色板、提示、参考线或小倍数通常不需要自定义规格。
- 组件类型:支持 text、counter、table、bar、line、pie、symbol-map、area、scatter、combo、choropleth-map、forecast-line、pivot、histogram、sankey、heatmap、funnel、box、waterfall、gantt、path-map、各类 filter 以及 custom-vega-viz。每个组件有特定版本号,版本错误是仪表板报错的首要原因。
- 自定义可视化:确认所需 marks 和 transforms 被 Vega-Lite 支持;join 和业务计算保留在数据集 SQL 中。
- 仪表板与应用的选择:管理的 AI/BI 仪表板适合只读 KPI、图表和筛选器;若需要自定义交互应用(写入/数据录入、定制 UI、嵌入式或授权工作流、以对话式 Genie/聊天助手为主界面),应改用 databricks-apps 技能构建 Databricks App。将「Ask Genie」空间链接到本仪表板仍属于本技能范畴。
- 生命周期管理:通过 lakeview 子命令(create、list、get、update、publish、unpublish、trash)管理仪表板。
使用方式
新建仪表板工作流:
- 获取 Warehouse ID(databricks warehouses list)。
- 发现表结构与数据模式(discover-schema),探查分组基数、分类值、数值分布、趋势可行性并确认叙述。
- 验证数据符合叙述,测试所有拟加入数据集的 SQL。
- 规划仪表板结构,阅读参考文件(1-widget-specifications.md、3-filters.md、4-examples.md),映射可视化到数据集并核对筛选字段。
- 部署:运行 databricks lakeview create,成功返回 dashboard ID 后任务才算完成。
仪表板内查询的 FROM 子句必须只引用表名,不带 catalog 或 schema 前缀;catalog/schema 通过 --dataset-catalog 和 --dataset-schema 标志提供。这些标志不会重写查询。
关键命令:
- 创建:
databricks lakeview create --display-name "X" --warehouse-id "WH" --dataset-catalog CATALOG --dataset-schema SCHEMA --serialized-dashboard "$(cat file.json)" --json '{"parent_path": "/Workspace/Users/<you>/path"}'。--dataset-catalog / --dataset-schema 仅作标志(必需,放入 --json 会被静默丢弃);parent_path 仅作 JSON 字段。 - 更新:
databricks lakeview update DASHBOARD_ID --dataset-catalog CATALOG --dataset-schema SCHEMA --serialized-dashboard "$(cat file.json)",更新时必须重新传入 catalog/schema。 - 发布:
databricks lakeview publish DASHBOARD_ID --warehouse-id WH - 删除:
databricks lakeview trash DASHBOARD_ID
若 databricks experimental aitools tools query --warehouse WH 报未知标志,可改为设置环境变量 DATABRICKS_WAREHOUSE_ID=WH。
更新现有仪表板:用创建工作流构建更新后的 JSON,然后在同一 DASHBOARD_ID 上执行 update + publish,不要重新运行 create/import。update 只改变草稿,需重新发布后查看者才能看到更新。
JSON 结构要求:
- queryLines 是字符串数组,各元素无分隔符连接,每行末尾须加空格或 \n。
- Widget 内联在 layout[].widget 中,而非单独的 widgets 数组。
- 每个 page 需要 pageType(PAGE_TYPE_CANVAS 或 PAGE_TYPE_GLOBAL_FILTERS)。
- chart、table、counter 和 custom-viz 的 query.fields[].name 必须与其 encodings.*.fieldName 完全匹配。
- 顶层 uiSettings.theme 控制全局颜色、字体和组件外观,建议每个仪表板都设置完整主题块。
仪表板链接格式:草稿为 https://<host>/sql/dashboardsv3/<DASHBOARD_ID>,发布后追加 /published。
适用场景
适用于需要在 Databricks 工作区构建只读 KPI 图表与筛选器的数据团队,覆盖 KPI、趋势、排名、分布或地理对比等展示需求。
限制
- 仪表板查询必须使用裸表名,硬编码 catalog/schema 会破坏可移植性。
- 筛选器只影响包含该筛选字段的数据集。
- 自定义图表须确认 Vega-Lite 支持所需 marks 和 transforms。
- 功能、收费、价格、平台、效果等未在资料中提供的细节暂未提供。