Shaper:用 SQL 定义数据仪表盘的开源工具
Shaper 是一款免费开源的数据可视化工具,基于 SQL(底层为 DuckDB),用于创建数据仪表盘与分析结果。后端使用 Go,前端使用 React,遵循 MPL-2.0 协议。代码托管在 GitHub:
https://github.com/taleshape-com/shaper
功能特性
- 数据加载:支持 CSV、JSON、Parquet、Excel、文本文件、HTTP 远程文件、S3,以及 DuckDB、PostgreSQL、SQLite、MySQL 等数据库数据源。通过 DuckDB 扩展插件,还可读取 Snowflake、BigQuery、Clickhouse、Arrow Flight、Iceberg、Google Sheets 等数据。
- SQL 支持:底层基于 DuckDB 查询引擎,SQL 不仅用于查询和转换数据,也直接用于定义可视化组件。
- 动态仪表盘:通过数据过滤器生成动态交互式仪表盘,支持图表注解,可显示或隐藏仪表盘中的部件。
- 嵌入式仪表盘:提供 JavaScript 嵌入式 API,可在应用中嵌入仪表盘,使用 JWT token 限制用户访问。
- 定时任务:创建定时任务自动执行 SQL 脚本,可用于加载远程数据、执行数据转换、清理历史数据等。
- 工作流:仪表盘完全由 SQL 脚本构建,可用文本编辑器管理,配合 Git 做版本控制,并集成到 CI/CD 工作流中。
- 导出功能:导出 CSV、Excel 数据文件,支持导出 PDF 报告。
- 在线分享:生成可在线分享的仪表盘链接,并支持密码保护。
下载安装
使用 Docker 快速部署:
docker run --rm -it -p5454:5454 -v ./mydata:/data taleshape/shaper
服务启动后,浏览器访问:
http://localhost:5454/
点击 “+ New” 新建可视化仪表盘。
参考文档: