使用 Lightdash 和 ClickHouse 构建交互式仪表盘
收集连接信息
设置 Lightdash 与 ClickHouse 的连接时,您需要准备以下信息:- Host: 您的 ClickHouse database 运行所在的地址
- User: 您的 ClickHouse database 用户名
- Password: 您的 ClickHouse database 密码
- DB name: 您的 ClickHouse database 名称
- Schema: dbt 用于编译和运行项目的默认 schema (可在您的
profiles.yml中找到) - Port: ClickHouse HTTPS interface 端口 (默认:
8443) - Secure: 启用此选项以使用 HTTPS/SSL 建立安全连接
- Retries: Lightdash 重试失败的 ClickHouse queries 的次数 (默认:
3) - Start of week: 选择报表周的起始日;默认使用您的仓库设置
| Parameter(s) | Description |
|---|---|
HOST and PORT | 通常,使用 TLS 时端口为 8443;不使用 TLS 时端口为 8123。 |
DATABASE NAME | 默认情况下,存在一个名为 default 的数据库。请使用你要连接的数据库名称。 |
USERNAME and PASSWORD | 默认情况下,用户名为 default。请根据你的使用场景使用相应的用户名。 |
curl 命令中。如果你使用的是自管理 ClickHouse,则连接信息由你的 ClickHouse 管理员配置。为 ClickHouse 配置 dbt profile
在 Lightdash 中,connection 基于你现有的 dbt 项目。 要连接到 ClickHouse,请确保本地的~/.dbt/profiles.yml 文件中包含有效的 ClickHouse 目标配置。例如:创建连接到 ClickHouse 的 Lightdash 项目
为 ClickHouse 配置好 dbt profile 后,你还需要将 dbt 项目 连接到 Lightdash。由于这一流程对所有仓库都相同,这里不再赘述——你可以按照 Lightdash 官方指南导入 dbt 项目:导入 dbt 项目 → Lightdash 文档连接 dbt 项目后,Lightdash 会自动从profiles.yml 文件中识别你的 ClickHouse 配置。连接测试成功后,你就可以开始浏览 dbt 模型,并构建由 ClickHouse 提供支持的仪表盘。在 Lightdash 中探索 ClickHouse 数据
连接后,Lightdash 会自动同步你的 dbt 模型,并提供:- YAML 中定义的 维度 和 measures
- 语义层逻辑,例如指标、JOIN 和 explores
- 由 ClickHouse 实时查询驱动的 仪表盘
从表中查询数据
当你的 dbt 项目连接到 Lightdash 并完成同步后,就可以直接从 表 (或“explores”) 开始探索数据。 每个表都对应一个 dbt 模型,并包含你在 YAML 中定义的指标和维度。Explore 页面由五个主要区域组成:- Dimensions and Metrics — 所选表中的所有可用字段
- Filters — 限制查询返回的数据
- Chart — 以图表形式展示查询结果
- Results — 查看从 ClickHouse 数据库返回的原始数据
- SQL — 查看结果背后生成的 SQL 查询
构建仪表盘
在探索数据并保存可视化内容后,您可以将它们组合成仪表盘,与团队共享。Lightdash 中的仪表盘支持完整的交互功能——您可以应用过滤器、添加选项卡,并查看由实时 ClickHouse 查询驱动的图表。您还可以直接在仪表盘中创建新图表,这有助于让项目保持整洁有序。以这种方式创建的图表仅限该仪表盘使用——无法在项目中的其他位置复用。要创建仅限仪表盘使用的图表:- 点击 Add tile
- 选择 New chart
- 在图表构建器中创建可视化
- 保存后,它将显示在仪表盘底部