Docker 安装Apache Superset 并实现汉化和快速入门

2023-12-13 08:42:58

什么是Apache Superset?

Apache Superset是一个现代化的企业级商业智能Web应用程序。Apache Superset 支持用户的各种数据类型可视化和数据分析,支持简单图饼图到复杂的地理空间图表。Apache Superset 是一个轻量级、简单化、直观化、可配置的BI 框架。

Docker 安装Apache? Superset

Docker 检索 superse

[root@localhost ~]# docker search superset
NAME                                   DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
amancevice/superset                    Superset on Debian+Python3                      278                                     [OK]
apache/superset                        Apache Superset                                 238
******

Docker 下载并查看superset镜像

[root@localhost ~]# docker pull apache/superset
Using default tag: latest
latest: Pulling from apache/superset
0e29546d541c: Pull complete
9b829c73b52b: Pull complete
cb5b7ae36172: Pull complete
6494e4811622: Pull complete
******
[root@localhost ~]# docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
nginx                latest              0e901e68141f        18 months ago       142MB
mysql                5.7                 2a0961b7de03        18 months ago       462MB
apache/superset      latest              3e8fac582908        23 months ago       1.69GB
******

创建superset 挂载目录:/opt/superset

[root@localhost opt]# mkdir /opt/superset

运行superset 容器

[root@localhost opt]# docker run --name my_superset -d -p 8088:8088 -v /opt/superset:/home/superset apache/superset
8797809b77f275d4655d9bc80a1e7f227330a0973bf6ab7d1031be7a0e70b54d

查看正在运行容器

[root@localhost opt]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                    PORTS                                                  NAMES
8797809b77f2        apache/superset     "/bin/sh -c /usr/bin…"   43 seconds ago      Up 42 seconds (healthy)   0.0.0.0:8088->8088/tcp                                 my_superset
******

进入superset镜像

[root@localhost opt]# docker exec -it my_superset /bin/bash

superset 数据库初始化

superset@8797809b77f2:/app$ superset db upgrade
logging was configured successfully
2023-12-07 15:25:41,240:INFO:superset.utils.logging_configurator:logging was configured successfully
2023-12-07 15:25:41,259:INFO:root:Configured event logger of type <class 'superset.utils.log.DBEventLogger'>
/usr/local/lib/python3.8/site-packages/flask_caching/__init__.py:201: UserWarning: Flask-Caching: CACHE_TYPE is set to null, caching is effectively disabled.
  warnings.warn(
WARNI [alembic.env] SQLite Database support for metadata databases will         be removed in a future version of Superset.
INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
******

superset 应用初始化

superset@8797809b77f2:/app$ superset init
logging was configured successfully
2023-12-07 15:26:15,395:INFO:superset.utils.logging_configurator:logging was configured successfully
2023-12-07 15:26:15,411:INFO:root:Configured event logger of type <class 'superset.utils.log.DBEventLogger'>
/usr/local/lib/python3.8/site-packages/flask_caching/__init__.py:201: UserWarning: Flask-Caching: CACHE_TYPE is set to null, caching is effectively disabled.
  warnings.warn(
Syncing role definition
2023-12-07 15:26:32,491:INFO:superset.security.manager:Syncing role definition
Syncing Admin perms
******

superset 设置管理员账户

superset@8797809b77f2:/app$ export FLASK_APP=superset
superset@8797809b77f2:/app$ flask fab create-admin
Username [admin]: admin
User first name [admin]: first
User last name [user]: last
Email [admin@fab.org]: admin@test.com
Password:
Repeat for confirmation:
logging was configured successfully
2023-12-07 15:28:24,832:INFO:superset.utils.logging_configurator:logging was configured successfully
******

温馨提示:设置superset 管理员账户为:admin ?密码:123456
加载superset 示例Demo?

superset@8797809b77f2:/app$ superset load_examples
logging was configured successfully
2023-12-07 15:29:03,488:INFO:superset.utils.logging_configurator:logging was configured successfully
2023-12-07 15:29:03,501:INFO:root:Configured event logger of type <class 'superset.utils.log.DBEventLogger'>
/usr/local/lib/python3.8/site-packages/flask_caching/__init__.py:201: UserWarning: Flask-Caching: CACHE_TYPE is set to null, caching is effectively disabled.
  warnings.warn(
Creating database reference for examples
2023-12-07 15:29:07,167:INFO:superset.utils.core:Creating database reference for examples
Loading examples metadata and related data into examples
Creating default CSS templates
Loading [World Bank's Health Nutrition and Population Stats]
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/urllib/request.py", line 1354, in do_open
    h.request(req.get_method(), req.selector, req.data, headers,
  File "/usr/local/lib/python3.8/http/client.py", line 1256, in request
    self._send_request(method, url, body, headers, encode_chunked)
******

温馨提示:由于Paython 版本对语法支持差异,示例Demo会报错,但不会影响我们的使用。?

superset 管理平台访问

Apache Superset 汉化

核心命令:

# 进入superset 镜像
docker exec -it -u root my_superset /bin/bash
# 替换/app/superset/config.py 配置文件
sed -i "s/BABEL_DEFAULT_LOCALE = \"en/BABEL_DEFAULT_LOCALE = \"zh/g" superset/config.py
#  替换/app/superset/config.py 配置文件
sed -i "s/LANGUAGES = {}/# LANGUAGES = {}/g" superset/config.py

#重新启动superset 镜像
docker restart my_superset

superset 汉化界面

Apache Superset 快速入门

第一步:添加Databases(数据库)

?提示:本次演示添加数据库为MySQL 8

填充 MYSQL 8 数据库连接信息

最后数据库查询列表展示我新增的MYSQL 8 数据库。

第二步:添加Datasets(数据级)?

?填充 Dataset/数据级信息

最后数据级查询列表展示我新增的base_building数据级。

?第三步:点击Datasets(数据级)?,创建Chart(图表)

默认初始化Chart (图表)编辑页面

我基于base_building/数据集创建查询building_no\building_name\building_address的图表.

?第四步:查询Chart(图表),并在DashBoard(仪表盘)中显示。

查询自己创建的Chart图表?

新增看板 ,选择创建的图表

最终效果展示:

参考资料:

?Apache Superset 官网:https://superset.apache.org/docs/intro

Apache Superset GitHub 地址 :?https://github.com/apache/superset

SuperSet 最新 Docker 部署文档(含元数据库切换、汉化、镜像导出)

文章来源:https://blog.csdn.net/zhouzhiwengang/article/details/134889078
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。