02 基础应用
在 ClickHouse 已导入数据之后,巡览这个运行中的纽约出租车应用,从而在扩展它之前理解它的结构。
起点
你位于 build-workshop-v1(在模块 00 中选定),无需 checkout。预留约 5 分钟。
你在模块 00 中启动的实训技术栈应该仍在运行。
前置条件:模块 00 和 01 已完成(技术栈健康、ClickHouse 已导入数据),前端可通过
http://localhost:8080/ 访问。
为什么
你无法扩展你没见过的东西。既然你的数据仓库已经导入了数据(模块 01),就花几分钟理解这个 应用的结构:两个看板各自的用途,前端、后端和数据库如何组合在一起,以及 AI 聊天面板在哪里。 这是唯一一个不需要动手构建的模块,而这是刻意安排的,你在这里建立方向感,然后在后续 模块中用实时数据、agents 和可观测性来扩展这个应用。
目标
能够各用一句话描述:Ops 看板的用途、Historical 看板的用途,以及应用的数据来自哪里 (你在模块 01 中导入到 ClickHouse Cloud 的历史数据;你在模块 03 中通过 CDC 流入的实时数据)。
第 1 步:打开 Ops 看板
frontend/
打开 http://localhost:8080/。这就是 Ops 看板:用于展示实时运营指标(近期行程、活跃区域、
准实时聚合)的卡片、筛选器和布局。目前它是空的,只有当你在模块 03 中通过 CDC 流入实时
数据行之后,实时视图才会填充起来。你在模块 01 中导入的历史数据会在接下来的 Historical
看板中显示。
下面的截图展示了应用了 Use sample window 按钮之后的 Ops 看板,这样你就能看到布局里 填充了已导入的数据,默认情况下它打开的是实时(今天)时间窗,在你于模块 03 启动 CDC 之前 那里是空的。

第 2 步:打开 Historical 看板
frontend/
打开 http://localhost:8080/historical。这个看板是为对历史行程数据做大区间聚合和下钻而
构建的,现在它能渲染出内容了,因为你在模块 01 中已经把一个月的行程数据导入了
ClickHouse Cloud。试着在那一个月上选一个较宽的日期范围,并使用筛选控件,看查询如何在
远不到一秒的时间内返回。

第 3 步:找到聊天面板并梳理数据流
backend/
在界面中找到 AI 聊天面板(你会在模块 08 中把它接到一个真实模型上)。然后看看前端如何调用 FastAPI 后端,以及后端是如何接线去查询 ClickHouse 的,它指向的服务就是你在模块 01 中 连接并导入数据的 Cloud 服务。
React front end -> FastAPI back end -> ClickHouse Cloud (connected + seeded in module 01)
-> ClickHouse-managed Postgres (operational source; created in module 03)让你的编码助手总结这些分析接口:
Read the FastAPI backend and list each analytics endpoint, what it returns, and which table it reads from.如何验证你已完成
- 你已经打开了两个看板:Historical 看板会从你在模块 01 中导入的数据渲染出内容,而 Ops(Live)看板在模块 03 启动 CDC 之前是空的,这是预期行为。
- 你能说出应用的数据来自哪里(模块 01 导入到 ClickHouse Cloud 的历史数据;模块 03 的 实时 CDC)。
- 你知道聊天面板在哪里,即使它还没有接到模型上。
小结
你已经对这个应用有了心智模型:两个看板、一个 FastAPI 接口、一个托管的源 Postgres,以及 一个等着被接通的聊天面板。后面的每个模块都会改变这幅图景中的某一部分。
最终状态
你理解了这个运行中的应用。继续前往 03 托管 Postgres CDC,把实时数据行流入 Ops 看板。