Metabase可视化BI系统部署安装及简单使用

news2024/11/24 12:40:19

metabase 是国外开源的一个可视化系统,语言使用了Clojure + TypeScript。

Clojure(/ˈkloʊʒər/)是Lisp程式語言在Java平台上的現代、動態及函數式方言。来自维基百科。
我也是第一次看到这个语言,知道它是可以运行在Java环境上的语言就可以了🙃

官方介绍该系统为“为公司中的每个人提供商业智能和分析的最简单、最快的方法😋”。

ChatGPT 是这样介绍它的

Metabase是一种开源的数据分析和可视化工具,它可以让非技术人员通过简单的查询和可视化操作来探索和理解数据。Metabase支持多种数据源,例如MySQL、PostgreSQL、MongoDB、Amazon Redshift、Google BigQuery等,可以通过简单的设置和配置来连接这些数据源。
使用Metabase,用户可以轻松创建各种类型的数据可视化图表和报表,例如柱状图、折线图、饼图、地图等等。此外,Metabase还具有一些高级功能,例如数据过滤、数据分组、数据透视表等,这些功能可以帮助用户更深入地了解数据。

安装

其安装的主要有两种方式docker和jar包安装。我这里介绍一下jar包安装吧,这样不用安装docker,适合更多不同机器(包含在虚拟机、docker容器内)安装部署。

默认安装使用的是H2数据库,为了尽可以贴合生产环境安装,需要替换掉默认的数据库,可以通过部署的时候设置变量来指定连接数据库。其支持PostgreSQL( 最低版本为: 9.4)、MySQL (最低版本为:5.7.7,需要设置 utf8mb4_unicode_ci collation, utf8mb4 character set, and innodb_large_prefix=ON.)、MariaDB.(最低版本为:10.2.2. 需要设置 utf8mb4_unicode_ci collation, utf8mb4 character set, and innodb_large_prefix=ON)。参考自metabase V0.46 版本安装说明。

以下为一个部署示例,指定启动端口为9092,存储的数据库类型为MySQL和指定存储的MySQL链接(对应的MySQL数据库metabase_db需要先创建好,并且用户需要有创建表权限,默认启动的时候会链接数据库进行创建表)

echo "创建目录并进行目标安装目录"
mkdir -vp /data/server/metabase
cd /data/server/metabase
echo "这里下载可能会有点慢"
wget https://downloads.metabase.com/v0.46.3/metabase.jar
echo "开始启动,下面需要替换为自己的mysql链接"
java  -DMB_JETTY_PORT=9092 -DMB_DB_TYPE=mysql -DMB_DB_CONNECTION_URI="jdbc:mysql://<host>:3306/metabase_db?user=<username>&password=<password>" -jar metabase.jar

上面命令启动时前台启动的,退出或关闭当前控制台后进程就退出。

当前台启动查看日志没报错之后,可以使用下面的后台启动命令来启动,这样就可以保持程序一直在后台运行。

nohup  java  -DMB_JETTY_PORT=9092 -DMB_DB_TYPE=mysql -DMB_DB_CONNECTION_URI="jdbc:mysql://<host>:3306/metabase_db?user=<username>&password=<password>" -jar metabase.jar  & 

当出现下面的INFO 日志的时候基本就表示启动没问题了的
启动成功日志

这个时候可以访问 http://127.0.0.1:9092 (其中的Ip可以换成自己的服务器外网的ip,如果有防火墙之类的需要关闭9092端口的屏蔽)

就会默认跳转到初始化设置页面了,主要设置一些自己的管理员账号和密码,还有设置要链接分析的数据库。

设置完成界面如下:
设置完成界面

接着就可以正式进行metabase 系统使用了。进入首页后,会看到metabase系统推荐关于你数据库的一些表的分析,可以简单展示你要分析的数据表信息。

metabase首页

简单使用

首先是创建数据库,管理员可以看到这个数据库创建功能,可以选择添加数据库来创建对应数据库,其他组角色的数据库权限默认开源版本没有也不能设置的。
创建数据库
创建完数据库后,可以进入“浏览数据”来查看表的数据,并对表的数据进行可视化设置,然后保存为图来展示
浏览数据
除了上面的通过浏览数据的可视化操作来创建可视化图表,也可以通过创建“模型”来实现灵活写sql获取数据跟根据其sql数据创建图表
创建模型
在看到数据展示的页面,可以根据数据来进行可视化编辑创建图表,主要设置要展示图类型(饼图、线图、柱形等),然后再设置x轴和y轴的字段的就可以看到图表会被正确显示出来了。
可视化编辑
最后将创建好的图表保存到仪表板里面就可以了
正常的报表仪表板页面

其实官网有个讲解视频,讲得也很不错,看完之后还是比较容易上手的(不过是英语的,主要仔细看看他的操作)。 https://www.metabase.com/demo

总结

metabase 搭建还是比较简单的,有提供了一个启动jar包提供启动安装,不需要像Superset 等需要安装python、npm 等环境或者安装docker 来安装。启动的时候还提供灵活的环境变量来设置的端口、链接的数据库等启动配置信息。

另外有个部署的亮点是它默认支持PostgreSQL和MySQL这两种比较流行的数据库作为应用存储,不需要再修改源码或者增加jar包才可以支持。一开始的我以为它是只支持PostgreSQL数据库的,想着我对PostgreSQL不太熟悉,还考虑过怎么安装PostgreSQL,后来细看了一下它官方安装文档,才知道MySQL也是支持的,节省了我安装部署的一大部分工作量😆。不过它后端实现使用 Clojure 语言,这个没什么听过,如果要二开也是算一个比较大的工作量,如果是 Java 的话,估计现在有一大批有关它的二开系统了😂。

我这边搭建了一个公开的metabase系统的demo,地址为:http://metabase.kanlon.ink/ 账号和密码可以关注 CrudBoys 公众 回复“可视化”获取

参考

  1. metadata 安装可以设置变量: https://www.metabase.com/docs/v0.46/configuring-metabase/environment-variables
  2. github地址: https://github.com/metabase/metabase
  3. 官网及介绍视频:https://www.metabase.com/demo
  4. 其他参考资料:https://metabasecn.net/ 中文介绍

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/565019.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

脱离文档流和半脱离文档流(详解)

脱离文档流和半脱离文档流&#xff08;详解&#xff09;_脱离文档流是什么意思_大前端工程师的博客-CSDN博客 脱离文档流 脱离文档流是指&#xff0c;该元素脱离了文档中。不再占据默认分配的空间&#xff0c;它下面的元素会上去补位。 可以理解为脱离文档流的元素离开了它的座…

1720_Linux学习中的问题处理

全部学习汇总&#xff1a;GreyZhang/little_bits_of_linux: My notes on the trip of learning linux. (github.com) 这个有点学习的方法论的意思&#xff0c;画个滋味导图顺便整理一下。 遇到问题的时候&#xff0c;解决的方法大致有3中&#xff0c;而针对学习的建议有一部分是…

STL-queue和priority_queue的模拟实现

回顾 对于STL&#xff0c;我们已经知道了vector和list&#xff0c;而它们是STL中被称为六大组件之一的容器&#xff0c;我们还学习了模拟实现stack&#xff0c;而stack在STL中被称为六大组件之一的适配器&#xff0c;今天&#xff0c;我们来学习queue的模拟实现和priority_que…

分布式运用之ELK企业级日志分析系统

1.ELK的相关知识 1.1 ELK的概念与组件 ELK平台是一套完整的日志集中处理解决方案&#xff0c;将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用&#xff0c; 完成更强大的用户对日志的查询、排序、统计需求。 ElasticSearch&#xff1a; 是基于Lucene&#xff0…

Tomcat服务器、Servlet生命周期、上传下载文件、使用XHR请求数据、注解使用

文章目录 Servlet认识Tomcat服务器使用Maven创建Web项目创建Servlet探究Servlet的生命周期解读和使用HttpServletWebServlet注解详解使用POST请求完成登陆上传和下载文件下载文件上传文件 使用XHR请求数据重定向与请求转发重定向请求转发 ServletContext对象初始化参数 Servlet…

基于自营配送模式的车辆路径规划设计与实现_kaic

摘要 近年来&#xff0c;随着我国消费水平逐渐提升&#xff0c;消费者在网上购物的频率也越来越高&#xff0c;电商发展速度迅猛&#xff0c;加大了物流配送的压力&#xff0c;促使物流企业以更大的运力&#xff0c;更短的时间将货物送达。在货品的运输过程中&#xff0c;成本居…

TCP 连接未必都是用TCP协议沟通

确实&#xff0c;一般来说 TCP 连接是标准的 TCP 三次握手完成的&#xff1a; 1.客户端发送 SYN&#xff1b; 2.服务端收到 SYN 后&#xff0c;回复 SYNACK&#xff1b; 3.客户端收到 SYNACK 后&#xff0c;回复 ACK。 SYN 会在两端各发送一次&#xff0c;表示“我准备好了&…

MicroBlaze系列教程(9):xilisf串行Flash驱动库的使用

文章目录 1. xilisf库简介2. xilisf库函数3. xilisf配置4. xilisf应用示例工程下载本文是Xilinx MicroBlaze系列教程的第9篇文章。 1. xilisf库简介 xilisf库(Xilinx In-system and Serial Flash Library) 是Xilinx 提供的一款串行Flash驱动库,支持常用的 Atmel 、Intel、S…

Linux基本指令介绍

目录 前言 指令操作与图形化界面的对比 adduser passwd whoami ls指令 pwd指令 cd指令 touch指令 mkdir指令 rmdir指令 && rm 指令 man指令 cp指令 mv指令 cat&#xff08;显示文件内容&#xff08;全部&#xff09;&#xff0c;且不可修改的&#xff09;…

【1++的C++初阶】之模板

&#x1f44d;作者主页&#xff1a;进击的1 &#x1f929; 专栏链接&#xff1a;【1的C初阶】 文章目录 一&#xff0c;浅谈模板二&#xff0c;函数模板三&#xff0c;类模板 一&#xff0c;浅谈模板 在前面的文章【【1的C初阶】之C入门篇1】中我们对函数重载有了一定的认识&a…

Python-web开发学习笔记(3):Flask Demo,一个网站开发小案例

☕️ 推荐关注我的另一个专栏系列&#xff1a;大道至简&#xff0c;该系列收录了许多优质的人工智能算法博文&#xff0c;包括机器学习和自然语言处理等&#xff0c;持续更新中&#xff0c;欢迎各位关注~ 介绍完HTML标签&#xff0c;我们来搞一个简单的网站小案例&#xff0c;带…

一、CNNs网络架构-基础网络架构

目录 1.LeNet 2.AlexNet 2.1 激活函数&#xff1a;ReLU 2.2 随机失活&#xff1a;Droupout 2.3 数据扩充&#xff1a;Data augmentation 2.4 局部响应归一化&#xff1a;LRN 2.5 多GPU训练 2.6 论文 3.ZFNet 3.1 网络架构 3.2 反卷积 3.3 卷积可视化 3.4 ZFNet改…

6.4.6拓扑排序

用DAG&#xff08;有向无环图&#xff09;表示一个工程。顶点表示活动&#xff0c;有向边<Vi&#xff0c;Vj>表示活动Vi活动必须先与Vj活动进行。 所谓的拓扑排序&#xff1a;找到做事的先后顺序 以上根据拓扑排序的实现&#xff1a; 加入对有回路的图进行拓扑排序&#…

重磅,ChatGPT App 来了!(附保姆级教程)

ChatGPT狂飙160天&#xff0c;世界已经不是之前的样子。 新建了人工智能中文站https://ai.weoknow.com 每天给大家更新可用的国内可用chatGPT资源 日前&#xff0c;OpenAI宣布推出iOS移动版ChatGPT&#xff0c;为iPhone和iPad用户提供免费下载和使用机会。 总体而言&#xff0…

视频转换芯片MS7200概述 HDMI转数字RGB/YUV/HDMI RXReceive/替代IT66021FN

1. 基本介绍 MS7200 是一款 HDMI 接收芯片&#xff0c;兼容 HDMI1.4b 及 HDMI 1.4b 以下标准的视频 3D 传输格 式&#xff0c;最高分辨率可支持到 4K30Hz&#xff0c;最高采样率达到 300MHz。MS7200 支持 YUV 和 RGB 之 间的色彩空间转换&#xff0c;数字接口支持 YUV 及 RGB 格…

动态规划-完全平方数

动态规划-完全平方数 1 题目描述2 示例2.1 示例 1&#xff1a;2.2 示例 2&#xff1a;2.3 提示&#xff1a; 3 解题思路及方法3.1 解题思路3.1.1 确定状态3.1.2 转移方程3.1.3 初始条件和边界情况3.1.4 计算顺序 3.2 算法代码实现 跟着九章侯老师学习了动态规划专题之后根据学习…

联邦图神经网络:概述、技术和挑战

https://arxiv.org/pdf/2202.07256.pdf 摘要 图神经网络以其处理实际应用中广泛存在的图形数据的强大能力&#xff0c;受到了广泛的研究关注。然而&#xff0c;随着社会越来越关注数据隐私&#xff0c;GNN需要适应这种新常态。这导致了近年来联邦图神经网络&#xff08;FedGN…

一、阿里云oss

文章目录 一、阿里云oss1、开通“对象存储OSS”服务1.1创建Bucket1.2上传默认头像1.3获取用户acesskeys 2、使用SDK文档3、文件服务实现3.1搭建service-oss模块3.1.1 搭建service-oss模块3.1.2 修改配置3.1.3 启动类3.1.4配置网关 3.2 测试SDK3.3封装service接口3.4封装control…

【C++初阶】类和对象(下)构造函数(初始化列表) + explicit关键字 +static成员

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前学习C和算法 ✈️专栏&#xff1a;C航路 &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章对你有帮助的话 欢迎 评论&#x1f4ac; 点赞&#x1…

如何下载旧版的Chrome

&#xff08;下面网址需要科学上网&#xff09; 1.获得浏览器版本号 访问 https://www.google.com 然后在搜索框中输入要搜索的浏览器版本号&#xff0c;例如 : site:chromereleases.googleblog.com 96.0。其中96.0是大版本号。 2.查询浏览器版本号的具体信息 访问 https://…