乐于分享
好东西不私藏

一款免费开源、基于SQL的数据可视化神器!

一款免费开源、基于SQL的数据可视化神器!

上方蓝色“程序员追风”,选择“设为星标”

回复“资料”获取整理好的面试资料

来源:github.com/taleshape-com/shaper

最近在GitHub闲逛时,我又挖到了一个让人眼前一亮的新玩具。这回不是什么新出的前端框架,而是个特别对我这种”后端党”胃口的工具——Shaper。
说实话,现在市面上可视化分析和BI工具已经多到数不清了,从那些功能臃肿的商业软件到形形色色的云服务,选择确实不少。但每次想快速搭个内部数据看板,我的操作路径都惊人地相似:先用SQL客户端连上数据库查数据,导出成CSV文件,再导入到某个图表工具里调整样式、配置筛选器。这么一套组合拳打下来,大半个上午就没了,而且整个数据流转链路脆弱得像块苏打饼干,轻轻一碰就可能出问题。
Shaper的出现,让我眼前一亮。它的核心理念简单直接:既然所有数据的最终来源都可以通过SQL获取,那为什么不能用SQL来定义整个仪表盘呢?
简单介绍下,Shaper是一个支持自主部署的开源数据可视化工具,完全由SQL驱动。后端用Go编写,前端基于React,整个项目代码完全开放,通过Docker一条命令就能快速启动。
01丰富的数据源支持
Shaper几乎能连接我们日常使用的所有数据源:从本地的CSV、JSON、Parquet、Excel、文本文件,到远程的HTTP文件、Amazon S3存储,再到主流的PostgreSQL、SQLite、MySQL等数据库,当然还包括其内置的DuckDB引擎。
更有意思的是,借助DuckDB强大的扩展生态,Shaper还能间接访问Snowflake、BigQuery、ClickHouse、Arrow Flight、Iceberg乃至Google Sheets等数据源。这意味着我们可以通过一个统一入口,轻松访问分散在各个角落的数据。
02动态交互的嵌入式仪表盘
Shaper构建的仪表盘不仅高度动态,交互体验也很流畅。你可以轻松添加筛选条件,让所有图表组件实时联动更新。同时,它支持为图表添加注释,还能灵活控制各个部件的显示与隐藏。
对于想在自己产品中嵌入分析功能的开发者来说,Shaper提供了JavaScript嵌入式API,可以无缝地将仪表盘集成到Web应用中,配合JWT Token机制来管理访问权限,实现安全可控的内部分享。
03自动化的工作流支持
Shaper对生产环境的需求考虑得很周到。它支持创建定时任务,自动执行SQL脚本,无论是定时拉取远程数据、执行ETL转换还是清理历史数据都不在话下。
更关键的是,整个仪表盘的构建完全基于SQL脚本文件,这意味着我们可以像管理代码一样,用任意文本编辑器来编写和维护,配合Git进行版本控制,轻松融入团队的CI/CD流程。
04便捷的分享与导出
分析结果只有被看到才有价值。Shaper支持生成可在线分享的仪表盘链接,并可以设置密码保护,方便又安全地与他人协作。同时,分析结果可以导出为CSV、Excel等格式,或直接生成精美的PDF报告,满足不同场景的需求。
05一键部署体验
Shaper的部署非常友好,官方推荐的Docker方式简单得不能再简单:
docker run --rm-it-p5454:5454-v ./mydata:/data taleshape/shaper
这条命令会拉取最新镜像,映射端口并挂载本地目录用于数据持久化。启动后,浏览器访问`http://localhost:5454`,点击”+ New”就能开始创建第一个可视化仪表盘。
06直观的使用体验
写段SQL查数据,在传统工具里还得手动点选”这里用柱状图”、”那里显示成表格”。但在Shaper中,你可以在编辑框里直接告诉它:
SELECT'Sessions per Week'::LABEL;SELECT  date_trunc('week', created_at)::XAXIS,category::CATEGORY,count()::BARCHART_STACKED,FROM datasetGROUPBY ALL ORDERBY ALL;
然后它就会自动生成一个可交互的图表,整个过程行云流水。
开源地址:https://github.com/taleshape-com/shaper
你在看吗
本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 一款免费开源、基于SQL的数据可视化神器!

猜你喜欢

  • 暂无文章