Shaper:一款免费开源、基于SQL的数据可视化工具神器!
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
昨天在 GitHub 上瞎逛,又发现了个有意思的玩意儿。这次不是又一个前端框架,而是一个让我这种“后端佬”眼前一亮的工具——Shaper。 说实话,现在各种可视化、BI工具多如牛毛,从臃肿的商业软件到各种云上服务。但每次想快速整一个内部看板,过程都差不多:先用 SQL 客户端连上数据库查数据,导出成 CSV,再导入到某个图表工具里,调样式、拉筛选器。一套流程下来,半个上午没了,数据链路还脆得像饼干。 Shaper 的思路,一下就戳中了我。它的核心理念就一句话:既然所有数据最后都能用 SQL 拿到,那为什么不能用 SQL 来定义整个仪表盘? 简介简单说,Shaper 是一个可以自己部署的、用 SQL 来驱动一切 的数据可视化工具。后端是 Go,前端是 React,整个项目开源,扔在 Docker 里一条命令就能跑起来。 功能特性广泛的数据源支持Shaper支持加载几乎我们能想到的所有常见数据源:从本地的CSV、JSON、Parquet、Excel、文本文件,到远程的HTTP文件、Amazon S3存储,再到主流的数据库如PostgreSQL、SQLite、MySQL,当然,还包括其原生引擎DuckDB。 最重要的是,借助DuckDB强大的扩展生态系统,Shaper还能间接读取Snowflake、BigQuery、ClickHouse、Arrow Flight、Iceberg乃至Google Sheets等数据源。这意味着我们可以用一个工具统一访问分散在各处的数据。 动态与可嵌入的交互式仪表盘Shaper生成的仪表盘是高度动态和交互式的。我们可以轻松添加数据过滤器,让仪表盘上的所有组件联动更新。同时,它支持图表注解,并能灵活显示或隐藏特定部件。 对于希望将分析能力嵌入自己产品的开发者,Shaper提供了JavaScript嵌入式API,允许我们将仪表盘无缝集成到Web应用中,并通过JWT Token机制来管理访问权限,实现安全的内部分享。
自动化与工程化的工作流Shaper充分考虑到了生产环境的需求。它支持创建定时任务,自动执行SQL脚本,可用于定时拉取远程数据、执行ETL转换或清理历史数据。 更重要的是,整个仪表盘的构建完全基于SQL脚本文件,这使得我们可以像管理代码一样,使用任何文本编辑器来编写和维护,并利用Git进行版本控制,轻松集成到团队的CI/CD(持续集成/持续部署)流水线中。
便捷的分享与导出分析结果需要被看见。Shaper支持生成可在线分享的仪表盘链接,并可选择设置密码保护,方便安全地与他人协作。 同时,分析结果可以方便地导出为CSV、Excel等数据文件,或直接生成精美的PDF报告,满足不同场景下的汇报需求。
一键部署Shaper的安装体验非常友好,官方推荐使用Docker进行快速部署,这几乎是最简单的方式。只需一行命令: 这条命令会拉取最新镜像,将容器的5454端口映射到本地,并挂载一个本地目录用于持久化数据。执行后,在浏览器中访问 效果展示我们写完一段 SQL,查出数据。在别的工具里,你得手动去点选“这里用柱状图”、“那里显示成表格”。在 Shaper 里,你不用离开编辑框。你直接告诉它: 然后它就真的给我们生成一个可交互的图表:
开源地址该文章在 2026/3/5 9:52:57 编辑过 |
关键字查询
相关文章
正在查询... |