将 marimo 与 ClickHouse 配合使用
Community Maintained
marimo 是一个开源的 Python 响应式 notebook,内置 SQL。每当你运行某个单元格或与某个 UI 元素交互时,marimo 会自动运行受影响的单元格(或将其标记为需重新运行),以保持代码与输出的一致性,并提前避免错误。每个 marimo notebook 都以纯 Python 代码形式存储,可以作为脚本执行,也可以部署为应用。

1. 安装支持 SQL 的 marimo
这会在本机上打开一个指向 localhost 的浏览器窗口。
2. 连接到 ClickHouse。
在 marimo 编辑器左侧进入数据源面板,点击 “Add database”。

系统会提示你填写数据库详细信息。

随后你将获得一个可运行的代码单元格,用于建立连接。

3. 运行 SQL
在设置好连接之后,你可以创建一个新的 SQL 单元格,并选择 ClickHouse 引擎。

在本指南中,我们将使用 New York Taxi 数据集。

现在,你可以在 dataframe 中查看结果了。接下来,我们希望从给定的上车地点中可视化费用最高的下车点。marimo 提供了多个 UI 组件来帮助实现这一点。我将使用一个下拉列表来选择地点,并使用 Altair 进行可视化绘图。

marimo 的响应式执行模型同样适用于 SQL 查询,因此对 SQL 的更改会自动触发依赖单元格的下游计算(或者可选地将单元格标记为过期,以控制高成本计算的刷新)。因此,当查询更新时,图表和表格也会随之变化。
你也可以切换到 App View,以获得一个简洁的界面来探索你的数据。
