什么是 Superset?
Apache Superset 是一个现代的企业级商业智能 Web 应用步调。它快速、轻量、直观,并内置了各种选项,使所有的用户都可以轻松探索和可视化他们的数据,从简单的饼图到高度详细的地理空间图表。
简单来说,Superset 就是一个访问数据源并对其举行可视化的工具。
Superset 的上风
1.易用性和可扩展性
Superset 提供直观的用户界面,使得创建、分享和可视化数据变得简单。同时,它也是可扩展的,可以集成多种数据源,包括常见的数据库(如MySQL、PostgreSQL、SQLite等)、大数据平台(如Hadoop、Spark)以及云服务(如AWS、Google Cloud等)。
2. 丰富的可视化选项
Superset 提供多样化的可视化选项,包括图表、仪表盘和自定义报告。用户可以根据必要选择合适的图表类型,并举行定制化设置,以出现数据的最佳展示结果。
3. 强大的数据探索和分析功能
它具备强大的数据探索功能,支持利用 SQL 编写查询,并可以或许举行数据切片、切块、过滤和汇总等操作。
4.开放的社区和生态系统
Superset 是一个开源项目,拥有生动的社区支持。这意味着有大量的文档、教程和社区贡献的插件或扩展,可以资助用户更好地利用和定制 Superset。
5.安全性和权限管理
Superset 提供了丰富的权限管理功能,可以控制用户对数据和可视化的访问权限,保障数据的安全性。
Superset 结合了易用性、灵活性和强大的功能,使得数据分析师和业务用户可以或许更轻松地探索、可视化和理解数据。
安装
安装 Anaconda 包管理工具
用 Anaconda 来管理后面必要利用 Python 包以及相干依靠,后期易于维护,利用也更加方便。
直接访问官网下载即可:Installers & Packages
这里建议直接选择最小化安装,后面必要哪些依靠再举行安装。
选择该版本下载即可,将安装包上传到 Linux 系统中,执行安装:
- bash Miniconda3-latest-Linux-x86_64.sh
复制代码 按照步骤来安装就行,安装成功后出现如下提示:
安装路径默认存储在 home 目次中的当前操作用户文件夹下:
刷新情况变量:
刷新完成后,会发现它默认激活了 Conda 的 base 情况,我们可以通过命令禁用,不默认激活:
- conda config --set auto_activate_base false
复制代码 创建 Superset 的 Python 情况
利用 Conda 创建一个 Python 情况,取名为 Superset。
- conda create --name superset python=3.8.16
复制代码 创建完成后,出现如下提示:
- # 激活环境
- conda activate superset
- # 退出环境
- conda deactivate
复制代码 下载 Superset 依靠
Superset 将数据库毗连信息存储在其元数据数据库中,并利用 Python 库加密了毗连密码。但是,这个库具有操作系统级别的依靠性,每种系统所必要的依靠项都不相同。
Ubantu
- sudo apt-get install build-essential libssl-dev libffi-dev python-dev python-pip libsasl2-dev libldap2-dev default-libmysqlclient-dev
- # Ubuntu 20.04
- sudo apt-get install build-essential libssl-dev libffi-dev python3-dev python3-pip libsasl2-dev libldap2-dev default-libmysqlclient-dev
复制代码 CentOS
- sudo yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel cyrus-sasl-devel openldap-devel -y
复制代码 更新工具
更新 pip 与 setuptools 工具。
- pip install --upgrade setuptools pip
复制代码 安装 Superset
先激活上面创建的 Superset 情况,然后安装 Superset:
- # 激活环境
- conda activate superset
- # 安装 Superset
- pip install apache-superset
复制代码 配置 MySQL 元数据库
将 Superset 的元数据配置为 MySQL,进入 MySQL 中,创建库与用户,并授予权限。
- -- 创建库
- CREATE DATABASE superset DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
- -- 创建用户
- create user superset@'%' identified WITH mysql_native_password BY 'superset';
- -- 授权
- grant all privileges on *.* to superset@'%' with grant option;
- -- 刷新
- flush privileges;
复制代码 配置 Superset 数据库毗连信息,该文件位于创建的 Python Superset 情况下:
注意,这里必要修改为你对应的安装路径。
- cd /home/manager/miniconda3/envs/superset
- /lib/python3.8/site-packages/superset
复制代码 进入到 Superset 的安装路径后,修改配置文件:
通过搜索,快捷定位到必要修改的位置:
将默认的毗连注释掉,修改为 MySQL 毗连:
- SQLALCHEMY_DATABASE_URI = 'mysql://superset:superset@hadoop120:3306/superset?charset=utf8'
复制代码 这里的 MySQL 的用户名、密码、主机、库名指定为你设置的,指定字符集为 utf8。
修改完成后,如下所示:
保存并退出,然后下载 Python 毗连驱动:
- conda install mysqlclient
复制代码 必要输入 y 举行同意。
初始化 Superset 数据库
在 Conda 情况中初始化 Superset 数据库。
报错一
在初始化数据库时可能会出现如下报错:
AttributeError: module ‘sqlparse.keywords’ has no attribute ‘FLAGS’
这是由于 sqlparse 版本过低引起的,建议重新安装,不要举行更新:
- pip uninstall sqlparse
- pip install sqlparse==0.4.3
复制代码 然后再次执行 Superset 数据库初始化命令。
报错二
在初始化数据库时可能会出现如下报错:
翻译过来如下所示:
- --------------------------------------------------------------------------------
- 警告
- --------------------------------------------------------------------------------
- 检测到默认SECRET_KEY,请使用superset_config.py覆盖它。
- 使用强大的复杂字母数字字符串并使用工具帮助您生成
- 一个足够随机的序列,例如:openssl rand-base64 42
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- 由于SECRET_KEY不安全而拒绝启动
复制代码 这是因为 Superset 未检测到密钥,不安全,必要举行设置。
进入 Conda 创建 Superset 情况的目次下:
- cd /home/manager/miniconda3/envs/superset
复制代码 先利用 openssl 命令来生成一个密钥:
然后创建 superset_config.py 文件,配置并指定密钥等信息:
- # Superset 配置
- # 行数限制 5000 行
- ROW_LIMIT = 5000
-
- # 网站服务器端口 8088
- SUPERSET_WEBSERVER_PORT = 8088
- # Superset 密钥
- SECRET_KEY = "Y3TCbJjwTadxFbI6q6eyb1R7BhNI1w5Y3XpUARX/AS6igMCFjy0VeobX"
- # 跨域请求攻击标识
- WTF_CSRF_ENABLED = True
-
- # CSRF 白名单
- WTF_CSRF_EXEMPT_LIST = []
-
- # CSFR 令牌过期时间 1 年
- WTF_CSRF_TIME_LIMIT = 60 * 60 * 24 * 365
-
- # 接口密钥用来启用 Mapbox 可视化
- MAPBOX_API_KEY = ''
复制代码 将该文件添加到情况变量中:
- vim /etc/profile
- # 在文件末尾添加
- # SUPERSET_CONFIG
- export SUPERSET_CONFIG_PATH=/home/manager/miniconda3/envs/superset/superset_config.py
复制代码 路径修改为你的存储路径。
添加完成后,保存退出,刷新情况变量:
再次执行 Superset 数据库初始化命令。
报错三
在初始化数据库时可能会出现如下报错:
ModuleNotFoundError: No module named ‘marshmallow_enum’
这是由于 marshmallow_enum 模块不存在,直接下载即可:
- pip install marshmallow_enum
复制代码 再次执行 Superset 数据库初始化命令。
数据库初始化完成
初始化完成后,如下所示:
进入 MySQL 库中,检察指定的 Superset 元数据库中是否已经存在内容。
- use superset;
- show tables;
复制代码
可以看到,Superset 数据库初始化已经完成了,共创建了 66 张表。
初始化 Superset
对数据库举行初始化后,还必要对 Superset 举行初始化,创建管理员用户:
- superset fab create-admin
复制代码
设置管理员用户名与密码,此中 first name、last name 以及邮箱可以不举行设置,直接按回车跳过即可。
然后执行初始化命令:
报错一
这里可能会出现报错:
No PIL installation found
直接下载即可:
然后重新执行初始化命令。
警告信息
在初始化 Superset 时,会出现这些警告信息,说未配置安全策略(CSP)。不消管,不会影响正常利用。
启动 Superset
1.安装 gunicorn
Gunicorn ‘Green Unicorn’ 是一个适用于 UNIX 的 Python WSGI HTTP 服务器。Gunicorn 服务器广泛兼容各种 Web 框架,实现简单,占用服务器资源少,速率相称快。
假如已经安装可以跳过。
2.启动 Superset
- gunicorn --workers 3 --timeout 120 --bind hadoop120:8787 "superset.app:create_app()" --daemon
复制代码 参数解析如下:
- --workers:指定进程的个数。
- --timeout:worker 进程超时时间,超时会自动重启。
- --bind:绑定主机所在,即为 Superset 访问所在。
- --daemon:后台运行。
启动命令执行完成后,就可以去访问绑定的主机所在了,会自动跳转到 Superset 的 WEB UI 登录界面:
输入在初始化时指定的管理员账号与密码举行登录,进入 Supset 的操作界面:
关闭 Superset
我们可以通过 ps 命令查询到当前正在运行的 Superset 进程:
- ps -ef | grep "/superset/"
复制代码 可以看到,此中有多个进程:
假如要关闭 Superset,把这些进程都 kill 掉即可。
- ps -ef | awk '/superset/ && !/awk/{print $2}' | xargs kill -9
复制代码 找到所有包罗 /superset/ 但不包罗 awk 的进程,然后利用 kill -9 强制终止这些进程。
到此为止,Superset 就已经安装完成啦~
数据源导入
登录进入 Superset 界面后,点击右上角添加数据源。
这里支持多种数据源,根据自身的需求来,我选择的是通过毗连数据库来获取数据,直接利用库中的数据。
配置数据库毗连信息,我这里利用的是 MySQL 数据库。
配置数据库相干信息:
增补: 这里必要添加一个字符集参数 charset=utf8,不然后面中文会显示乱码。
注意,这里在毗连时可能会出现一个报错:
MySQLdb._exceptions.OperationalError) (2059, "Authentication plugin 'caching…
这是由于 MySQL8 密码规则验证的题目,可以通过下面这篇博客举行办理:_mysql_exceptions.OperationalError: (2059, “Authentication plugin ‘caching_sha2_password‘ cannot be办理方法
配置完成后,点击 Finish 即可完成数据库源的配置,数据源导入完成。
新建数据集
数据源添加后,还必要选择后面举行图表展示的数据集。
点击【Datasets】,选择右侧的【DATASET】按钮:
新建一个必要举行图表展示的数据集,选择数据源、库、表即可举行创建。
图表展示
这里就到了 Superset 最核心的部分了,只需简单配置,选择指定的图表类型后,即可将数据展示出来。
点击右上角的 + 号,选择【Chart】新建图表
选择数据集以及图表类型:
选择用于展示的字段、数据聚合的字段与类型、数据量等,生成对应的图表,如下所示:
如许图表就绘制完成啦,可以点击右上角的【SAVE】按钮举行保存。
后续可以根据自身情况,配置对应的数据源以及数据集,选择相应的图表举行展示,这就是 SuperSet 的作用啦!
只必要简单的配置,即可将数据绘制成想要的图表,岂不美哉!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |