BI工具调研

news2024/12/26 22:24:14

1、前言

目前公司使用Tableau作为BI工具,但是感觉不是很好用,且国内市场已经不维护了,所以打算换下BI工具,因此需要针对当前市场开源和商业的BI工具进行调研,看看是买商业的还是用开源的。
基于以下部分开源的做了一个表格对照。
在这里插入图片描述

2、各个开源BI工具网站

https://superset.apache.org/docs/databases/installing-database-drivers/
https://dataease.io/
https://www.metabase.com/
https://redash.io/
https://www.jaspersoft.com/why-jaspersoft

3、dataease是国内开源工具,文档比较简单易懂,这里就不介绍了

4、Superset 基本介绍

1.1 简介

Apache Superset(孵化)是一个现代化的企业级商业智能Web应用程序。

1.2 特点

1)快速创建可交互的、直观形象的数据集合
2)有丰富的可视化方法来分析数据,且具有灵活的扩展能力
3)具有可扩展的、高粒度的安全模型,可以用复杂规则来控制访问权限。目前支持主要的认证提供商:DB、OpenID、LDAP、OAuth、和Flask AppBuiler的REMOTE_USER
4)使用简单的语法,就可以控制数据在UI中的展现方式
5)通过SQLAlchemy与大多数讲SQL的RDBMS集成
6)与Druid深度结合,可快速的分析大数据
7)配置缓存来快速加载仪表盘

1.3 数据库依赖

除了Sqlite (它是Python标准库的一部分)之外,Superset不捆绑连接到数据库。其他均需要为要用作元数据数据库的数据库安装所需的包,以及连接到要通过Superset访问的数据库所需的包。
下面是一些连接方式(本文只列举几种常用类型):

在这里插入图片描述

更多数据库连接方式请访问:
http://superset.incubator.apache.org/installation.html#getting-started

2.1安装地址

Superset同时支持Python2和Python3, 这里以Python3作为演示。它支持pip形式的下载,不过我不建议直接安装,因为Superset的依赖包较多,如果直接安装,很容易和现有的模块产生冲突。
这里需要先搭建Python的虚拟环境。虚拟环境可以帮助我们在单机上建立多个版本的Python。简而言之,即可以Python2和Python3共存,也能Python3.3、3.4、3.5共济一堂,彼此间互相独立。这里以Anaconda自带的conda工具为例,采取在线安装的方式,耗时较长,请耐心等待。

1.Superset官网地址
http://superset.incubator.apache.org
2.Anaconda 官网地址
https://www.anaconda.com/distribution/

2.2 Superset环境准备及安装

1.添加系统依赖
[ybb@hadoop104 ~]$ sudo yum upgrade python-setuptools
[ybb@hadoop104 ~]$ sudo yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel libsasl2-devel openldap-devel
2.安装Anaconda
(1)把Anaconda3-2019.03-Linux-x86_64.sh上传到linux的/opt/software目录下
(2)运行Anaconda3-2019.03-Linux-x86_64.sh文件进行程序安装
[ybb@hadoop104 software]$ bash Anaconda3-2019.03-Linux-x86_64.sh

Welcome to Anaconda3 2019.03

In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue		#点击“Enter”查看“许可证协议”
>>> 
===================================
Anaconda End User License Agreement
===================================
....
Notice of Third Party Software Licenses
=======================================
....
Cryptography Notice
===================
....
Do you accept the license terms? [yes|no]
[no] >>> 
Please answer 'yes' or 'no':'		#是否接受license协议,输入yes
>>> yes

Anaconda3 will now be installed into this location:
/home/ybb/anaconda3

  - Press ENTER to confirm the location		#按回车键确认安装路径
  - Press CTRL-C to abort the installation	#按'CTRL-C'取消安装或者指定安装目录
  - Or specify a different location below	

[/home/ybb/anaconda3] >>>/opt/module/anaconda3	
#此处可以输入安装路径/opt/module/anaconda3,输入之后按回车,注意此目录必须不存在
PREFIX=/opt/module/anaconda3
installing: python-3.7.3-h0371630_0 ...
Python 3.7.3
installing: conda-env-2.6.0-1 ...
installing: blas-1.0-mkl ...
........
installing: seaborn-0.9.0-py37_0 ...
installing: anaconda-2019.03-py37_0 ...
installation finished.
Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no] #初始化程序安装路径环境变量,自动在.bashrc中添加
[no] >>> no #这里我们输入no,如果输入yes,开机就会自动进入base环境,于我们无意。
WARNING: The conda.compat module is deprecated and will be removed in a future release.
no change     /opt/module/anaconda3/condabin/conda
no change     /opt/module/anaconda3/bin/conda
no change     /opt/module/anaconda3/bin/conda-env
no change     /opt/module/anaconda3/bin/activate
no change     /opt/module/anaconda3/bin/deactivate
no change     /opt/module/anaconda3/etc/profile.d/conda.sh
no change     /opt/module/anaconda3/etc/fish/conf.d/conda.fish
no change     /opt/module/anaconda3/shell/condabin/Conda.psm1
no change     /opt/module/anaconda3/shell/condabin/conda-hook.ps1
no change     /opt/module/anaconda3/lib/python3.7/site-packages/xonsh/conda.xsh
no change     /opt/module/anaconda3/etc/profile.d/conda.csh
modified      /home/ybb/.bashrc

==> For changes to take effect, close and re-open your current shell. <==

If you'd prefer that conda's base environment not be activated on startup, 
   set the auto_activate_base parameter to false: 

conda config --set auto_activate_base false

Thank you for installing Anaconda3!

===========================================================================

Anaconda and JetBrains are working together to bring you Anaconda-powered
environments tightly integrated in the PyCharm IDE.

PyCharm for Anaconda is available at:
https://www.anaconda.com/pycharm

(3)为Anaconda配置环境变量
[ybb@hadoop104 anaconda3]$ sudo vim /etc/profile
export CONDA_HOME=/opt/module/anaconda3
export PATH= P A T H : PATH: PATH:CONDA_HOME/bin
[ybb@hadoop104 anaconda3]$ source /etc/profile
[ybb@hadoop104 anaconda3]$ conda list #对Anaconda进行验证,出现下列情况即成功

在这里插入图片描述
(4)修改Anaconda 的镜像文件
在安装Anaconda用户的家目录下(/home/ybb/)创建 ‘.condarc’文件,并添加如下内容:
[ybb@hadoop104 ~]$ vim .condarc
channels:

  • https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  • https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
  • https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    show_channel_urls: true

2.安装Superset
(1)为了避免依赖冲突,创建superset的虚拟环境。
[ybb@hadoop104 ~]$ conda create -n superset python=3
(2)进入/退出superset环境
[ybb@hadoop104 anaconda3]$ conda activate superset #进入
(superset) [ybb@hadoop104 anaconda3]$
(superset) [ybb@hadoop104 anaconda3]$ conda deactivate #退出
[ybb@hadoop104 anaconda3]$
(3)安装 pip 和setuptools最新版,命令如下(包较大,执行时间有点长,出现Read time out,请重新执行一遍当前命令,支持断点续传):
(superset) [ybb@hadoop104 anaconda3]$ pip install --upgrade setuptools pip
(superset) [ybb@hadoop104 anaconda3]$ pip install superset
自动退出及安装完成

(4)创建一个admin用户:
(superset) [ybb@hadoop104 anaconda3]$ fabmanager create-admin --app superset
(5)初始化数据库
(superset) [ybb@hadoop104 anaconda3]$ superset db upgrade
错误提示:
"Can’t determine which FROM clause to join "
sqlalchemy.exc.InvalidRequestError: Can’t determine which FROM clause to join from, there are multiple FROMS which can join to this entity. Try adding an explicit ON clause to help resolve the ambiguity.
解决方案:
(superset) [ybb@hadoop104 anaconda3]$ pip install sqlalchemy==1.2.18
(6)加载一些样例,并进行初始化
(superset) [ybb@hadoop104 anaconda3]$ superset load_examples
(superset) [ybb@hadoop104 anaconda3]$ superset init
(7)web页面进行汉化(可自主选择):
(superset) [ybb@hadoop104 anaconda3]$ vim /opt/module/anaconda3/envs/superset/lib/python3.6/site-packages/superset/config.py
找到BABEL_DEFAULT_LOCALE=’en’改为BABEL_DEFAULT_LOCALE = ‘zh’

在这里插入图片描述
(superset) [ybb@hadoop104 anaconda3]$ cd /opt/module/anaconda3/envs/superset/lib/python3.6/site-packages/superset/
(superset) [ybb@hadoop104 superset]$ mkdir -p translations/zh/LC_MESSAGES
(superset) [ybb@hadoop104 superset]$ wget ‘https://github.com/apache/incubator-superset/blob/master/superset/translations/zh/LC_MESSAGES/messages.mo’

(8)安装mysql连接支持
(superset) [ybb@hadoop104 anaconda3]$ sudo yum install mysql-devel
(superset) [ybb@hadoop104 anaconda3]$ pip install mysqlclient

(9)启用web页面

(superset) [ybb@hadoop104 ~]$ superset runserver ([-p port]可指定其他端口,默认8088)
2019-06-21 20:18:36,438:INFO:root:The Gunicorn 'superset runserver' command is deprecated. Please use the 'gunicorn' command instead.
Starting server with command: 
gunicorn -w 2 --timeout 60 -b  0.0.0.0:8088 --limit-request-line 0 --limit-request-field_size 0 superset:app

[2019-06-21 20:18:36 +0800] [2985] [INFO] Starting gunicorn 19.9.0
[2019-06-21 20:18:36 +0800] [2985] [INFO] Listening at: http://0.0.0.0:8088 (2985)
[2019-06-21 20:18:36 +0800] [2985] [INFO] Using worker: sync
[2019-06-21 20:18:36 +0800] [2988] [INFO] Booting worker with pid: 2988
[2019-06-21 20:18:36 +0800] [2989] [INFO] Booting worker with pid: 2989

浏览器访问:http://hadoop104:8088
登陆账户和密码均为第四步执行创建的。

3.1 创建Mysql数据库连接

1)登陆之后点击数据源(Source) ->数据库(Databases)

在这里插入图片描述
2)点击右上角加号(+)添加数据源
在这里插入图片描述
3)添加Mysql数据
1.SQL Alchemy URI编写规范:mysql://账号:密码@IP/数据库名称
2.点击测试连接,出现“Seems OK!”表示连接成功,下方展示出所有表名称。
3.勾选“在SQL工具箱中公开”,可以使用SQL语句查询。
4.其他根据需求进行勾选,无过多要求,随后点击最下方“保存(save)”。

在这里插入图片描述
在这里插入图片描述
4)添加成功

3.2 添加Mysql数据库的表格

1)添加数据表
在这里插入图片描述

2)点击加号(+),添加表格,并保存
gmall数据库表格名称:base_category1 | base_category2 |base_category3 |order_detail |order_info |payment_info |sku_info |user_info
在这里插入图片描述
3)添加完成,可点击“过滤条件”选择不同维度对展示列表进行过滤。
在这里插入图片描述

3.3 表的查看与编辑

1)点击编辑

在这里插入图片描述
2)列表展示
1.在“详细”页中可通过sql语法对数据进行提前过滤操作,后续的操作基于本次查询的基础上进行实现。
2.可对表结构、数据类型、是否可进行group、filter、count、sum、min、max操作等进行编辑。
3.可通过sql语法添加一些新的列和列指标。
在这里插入图片描述

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

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

相关文章

深度学习——R-CNN目标检测原理

R-CNN系列算法需要先产生候选区域&#xff0c;再对候选区域做分类和位置坐标的预测&#xff0c;这类算法被称为两阶段目标检测算法。近几年&#xff0c;很多研究人员相继提出一系列单阶段的检测算法&#xff0c;只需要一个网络即可同时产生候选区域并预测出物体的类别和位置坐标…

Jmeter 性能压测 —— 常遇问题与解决技巧!

问题1&#xff1a;如何在大并发测试下&#xff0c;让登录或者后续接口只执行一次&#xff1f; 分析&#xff1a; 这个问题网上的答案其实很多&#xff0c;但是大多不靠谱。 比如推荐使用仅一次控制器&#xff0c;但是仅一次控制器对线程组无效&#xff1b; 比如推荐跨线程组…

OpenAI ChatGPT-4开发笔记2024-05:windows下anaconda中设置visual studio code workspace

这里写自定义目录标题 1 安装anaconda和vscode2 Create an Anaconda Environment3 select Python Interpreter4 Workspace5 Open Workspace With File6 开发文件夹加入workspace7 美化 1 安装anaconda和vscode 标配。 2 Create an Anaconda Environment conda create --name…

Python+Flask+MySQL的图书馆管理系统【附源码,运行简单】

PythonFlaskMySQL的图书馆管理系统【附源码&#xff0c;运行简单】 总览 1、《图书馆管理系统》1.1 方案设计说明书设计目标需求分析工具列表 2、详细设计2.1 登录2.2 注册2.3 程序主页面2.4 图书新增界面2.5 图书信息修改界面2.6 普通用户界面2.7 其他功能贴图 3、下载 总览 …

网站被挂黑链怎么办

网站被挂黑链这种事情总是防不胜防&#xff0c;且不说网站本身的安全防护做的是否到位&#xff0c;但只要被盯上了就难逃厄运。即使是企业机构的网站也难逃被黑的经历&#xff0c;更何况用户苦心经营的网站&#xff0c;因此首先需要正确看待挂黑链这个现象&#xff0c;网站被挂…

Java进击框架:Spring-Web(八)

Java进击框架&#xff1a;Spring-Web&#xff08;八&#xff09; 前言DispatcherServlet拦截器异常视图解析重定向转发 语言环境日志 过滤器带注释的控制器声明映射请求其它注解验证 功能性端点URI Links异步请求CORSHTTP缓存视图技术MVC配置其他Web框架 前言 Spring Web MVC是…

前端学习笔记 6:Pinia

前端学习笔记 6&#xff1a;Pinia Pinia 是 Vue 的一个官方库&#xff0c;用于状态管理。 1.安装 首先创建一个 Vue3 项目&#xff0c;具体方式可以参考这里。 安装 Pinia&#xff1a; npm install pinia创建一个 pinia 实例 (根 store) 并将其传递给应用&#xff1a; im…

金和OA C6 upload_json 任意文件上传漏洞

产品介绍 金和网络是专业信息化服务商,为城市监管部门提供了互联网监管解决方案,为企事业单位提供组织协同OA系统开发平台,电子政务一体化平台,智慧电商平台等服务。 漏洞概述 金和 OA C6 upload_json接口处存在任意文件上传漏洞&#xff0c;攻击者可以通过构造特殊请求包上…

消息队列-RockMQ-Demo案例拓展输入输出渠道

基于Spirng Cloud Alibaba基础搭建 下面为一个Demo 生产者和消费者是一起的。 父工程pom <properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.com…

如何使用TrafficWatch根据PCAP文件监控和分析网络流量

关于TrafficWatch TrafficWatch是一款功能强大的网络数据包嗅探和分析工具&#xff0c;该工具能够帮助我们通过PCAP文件监控和分析目标网络中的网络通信流量。除此之外&#xff0c;该工具还可以为广大研究人员提供针对各种网络协议的内部分析功能&#xff0c;并帮助解决各种网…

初始Linux(部署项目)

Linux学什么 作为一名主学Java的小白&#xff0c;主要学一下三个部分&#xff1a; 1.基础命令 使用图形命令是使用Linux的重要基础。并且有很多好处&#xff0c;如可以节省系统、网络资源&#xff0c;能够批量处理工作等等。 2.系统编程 & 网络编程 由于Java跨平台的特…

【unity小技巧】FPS游戏实现相机的偏移震动、武器射击后退和后坐力效果

最终效果 文章目录 最终效果前言相机偏移震动相机震动脚本换弹节点震动 武器射击后退效果武器后坐力效果完结 前言 关于后坐力之前其实已经分享了一个&#xff1a;FPS游戏后坐力制作思路 但是实现起来比较复杂&#xff0c;如果你只是想要简单的实现&#xff0c;可以看看这个&…

网络通信(12)-C#TCP客户端封装帮助类实例

本文使用Socket在C#语言环境下完成TCP客户端封装帮助类的实例。 实例完成的功能: 客户端与服务器连接,实现实时刷新状态。 客户端接收服务器的数据。 客户端发送给服务器的数据。 客户端实时判定状态,断开连接后自动重连。 客户端与服务器端发送心跳包。 在VS中创建C…

Mysql 恢复误删库表数据

一、前提 1、如果你的数据库有备份文件&#xff0c;自己还原即可。 2、如果没有备份文件&#xff0c;那首先检查下你的 binlog 是否开启。如果未开启&#xff0c;那你就不用往下看了。如果开启了&#xff0c;可以往下看看。 1.1 查看位置 可以通过以下的命令查看是否开启了 bi…

机器学习:手撕 AlphaGo(二)

计算机下围棋的问题描述请见上篇&#xff1a;机器学习&#xff1a;手撕 AlphaGo&#xff08;一&#xff09;-CSDN博客 3. MCTS 算法介绍 MCTS&#xff08;Monte Carlo Tree Search&#xff09; 算法的中文名称叫做蒙特卡洛树搜 索。第一次接触这个算法时&#xff0c;便惊叹于它…

使用echarts制作柱状图、折线图,并且下方带表格

实现效果: 调试地址: https://echarts.apache.org/examples/zh/editor.html?cline-simple 源码: option { title: { left: center, top: 0, text: 2022-05月 制造产量 达成情况(单位: 吨) (图1)\n\n集团目标产量: 106,675吨 集团实际产量: 2,636吨, text…

NVIDIA官网如何下载所有历史版本的驱动,包括上古化石版本?

NVIDIA官网如何下载所有历史版本的驱动&#xff0c;包括上古化石版本&#xff1f; 1.软件环境⚙️2.问题描述&#x1f50d;3.解决方法&#x1f421;4.结果预览&#x1f914; 1.软件环境⚙️ Windows10 教育版64位 GeForce GTX 1060 (Notebooks) Chrome 120.0.6099.199&#xff…

Linux限制用户可用硬盘空间

为了防止某个用户占用大量资源导致其他用户无法正常使用&#xff0c;一般会对单个用户可占用资源进行限制。就磁盘限额&#xff0c;XFS文件系统原生支持目录级别的限制。ext文件系统不支持目录限制&#xff0c;曲线方式是限制用户的总占用空间。 本文介绍使用quota程序限制用户…

【银行测试】金融项目测试注意点汇总,一篇带你不再背锅

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、数据保护 在测…

vue3 +TS 安装使用router路由模块

一.安装 1.下载安装依赖 npm install vue-routernextnpm install types/vue-router2.router目录创建 在src 目录下 创建 /src/router文件夹 包含两个文件 route.ts import { RouteRecordRaw } from vue-routerconst routes: Array<RouteRecordRaw> [{path: /,name:…