作者:snail | 来源:互联网 | 2023-05-22 15:46
metabase是一款开源的BI分析工具,开发语言clojure+React为主、也有高阶的收费版。 官网:https://www.metabase.com/ 可以利用Metabase进行数据分析,数据可视化,报表生成等。开源地址:https://github.com/metabase/metabase
官网学习地址:https://www.metabase.com/learn/getting-started/getting-started.html
优势说明:
- 安装便捷、流程清晰、结构清晰
- 权限设置弱
- 自助的表字段信息透视功能,智能化探索,自动出看板,自动关联数据的分布,炫酷
- 不支持跨库查询
- 偏前端和SQL分析
技术架构:Clojure+Recat+Redux
提供了完整的API文档,可凭借丰富的API与文档完成许多二次开发
下载metabase,用jvm运行
![](https://img.php1.cn/3cd4a/1eebe/cd5/6789f68dabde0aed.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM1MDYzMDAy,size_16,color_FFFFFF,t_70)
![](https://img.php1.cn/3cd4a/1e618/bdf/129913486c37ddf6.jpeg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM1MDYzMDAy,size_16,color_FFFFFF,t_70)
创建用户、新增数据库略。。
![](https://img.php1.cn/3cd4a/1eebe/cd5/011ac27956d007f0.webp?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM1MDYzMDAy,size_16,color_FFFFFF,t_70)
特别需要注意的是:其中Druid的版本为2.0版本,所以不支持sql查询,威力大打折扣;另外也不支持Hive,Kylin.
sparksql是thriftserver
metabase主要功能创建数据集、在线可视化分析、生成分析图表、构造dashboard、定时任务报表、数据分析模型、订阅发布、分享、安全验证、权限管理、任务管理。
metabase是一款适用于数据快速分析,数据可视化的工具。
metabase可快速生成数据可视化内嵌到应用内;
![](https://img.php1.cn/3cd4a/1eebe/cd5/ddcc574beb16294e.jpeg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM1MDYzMDAy,size_16,color_FFFFFF,t_70)
metabase的数据抽取速度?取决于?
![preview](https://img.php1.cn/3cd4a/1eebe/cd5/21e585a7e21fc7dc.png)
查询 => 图表 => 仪表板,是目前最为常见、最为基础的交互流程。基于此向外延伸的众多特性才是不同平台的不同之处。我们更为在意的特性:
- 要支持常见的数据源类型,MySQl、Presto DB 是必选项
- 支持业务自助分析和数据准备、拖拉拽的交互式探索
- 要支持 SQL 模式,用于复杂场景
- 可视化图表类型足够丰富
- 可内嵌、可推送、可分享的对外输出能力
- 完善的用户和权限系统
- 可二次开发、可私有编译部署,也就是要开源,以便扩充更多数据源驱动、图表类型、输出方式等
- 报表要美观
- 免费
对比
![](https://img.php1.cn/3cd4a/1eebe/cd5/5287a7b3296ea13e.webp)
Metabase 哪里好
![](https://img.php1.cn/3cd4a/1eebe/cd5/086aec93f5e1e9b2.webp)
经过对比与体验,Metabase 最为符合我们的需求。
Metabase
The simplest, fastest way to get business intelligence and analytics to everyone in your company
官方介绍:用最简单、快速的方式让你们公司的每一位拥有商业智能与分析。
特性总结:
- 支持的数据源:Postgres、MySQL、Druid、SQL Server、Redshift、MongoDB、Google BigQuery、SQLite、H2、Oracle、Vertica、Presto、Snowflake、SparkSQL。
- 数据准备方式:支持 SQL 查询、简单查询和自定义查询。
- 支持的图表类型:曲线、柱状、条形、饼图、面积图、组合图、地图、漏斗、散点、仪表盘等
- 邮件报警:可以使用已有查询配置数据阈值报警,发送邮件。
- 仪表板功能:支持参数传递、一键全屏、公开分享、iframe 嵌入、定时刷新
- 用户集成:LDAP、OAuth2(需做一点开发)
- 权限:支持按数据源或者报表文件夹分配权限给用户组。
Surprise:
- 元数据自动维护同步,对数据的浏览和透视非常方便
- 支持模型配置,用于问问题的时候直接选择配置好的指标和条件
- 支持参数传递,查询和仪表板均可注入参数作为报表筛选项
- 支持自定义地图,中国地图省份地图这些地图可视化都不在话下了
- 支持查询嵌套查询、也就是说查询可以复用了
- 支持代码块复用
- 仪表板支持 Markdown 组件,仪表板可以嵌入自定义的文本、链接、图片啦。
- 全局检索,支持全局检索报表数据仪表板等。
- 仪表板支持暗色模式,仪表板全屏以后开启暗色模式放在监控大屏上,是你喜欢的调调
虽然有这么优点,开发语言有点与众不同了。
Clojure 吓了你一跳
对比这些开源平台前端开发语言,React 在国外果然最受欢迎,很多系统要么使用 React 开发,要么正在使用 React 重构。由于是数据类应用,服务端语言使用 Python 较多,这在预期之内。然而 Metabase 使用的是 Clojure —— 一种 Lisp 方言,这有点高级了。
作为前端开发,我不懂 JVM 也不懂 Lisp,而我被安利过 ClojureScript!仿佛有点兴趣了。
Clojure(/ˈkloʊʒər/)是 Lisp 编程语言在 Java 平台上的现代、动态及函数式方言。
划重点了,Clojure 是运行在 JVM 的语言,它可以随意调用 Java 生态的类库!而且可以打成 jar 包,像 Java 程序一样部署。
另外它是动态类型的、函数式的、拥有不可变的数据结构,这三个特性加持难怪 ClojureScript + React 栈会得到很多前端大佬的推崇。
什么?学不动了?不,你学得动,而且很可能因此打开你新世界的大门。
总结
开源 BI,我最终选择了 Metabase,如果你也有开源 BI 需求,以上浅薄见解希望对你有所帮助。如果有什么问题欢迎留言交流。
最后附上 Metabase 之禅,个人认为这也是作为开发者应当追求的准则,共勉之
尽可能地为用户传递价值
结构化事物并以此自动为用户推断事物
系统本该知道的东西,就不要去问用户
让用户简单方便地做正确的事
不要把用户留在诱杀陷阱里
付出额外的努力,使用户体验愉快