网络推广 网站制作,湖州吴兴建设局网站,shop后缀的网站,石家庄网址服务文章目录 1. SuperSet介绍2. 实验说明3. 实验配置4. SSH连接云实例5. 系统版本查看6. 主机名映射7. Docker安装[可选] Docker Compose安装8. 安装superset9. 初始化superset容器10. 为superset加入连接Athena需要的依赖11. 为superset准备一个具有权限的IAM用户12. 添加此IAM用… 文章目录 1. SuperSet介绍2. 实验说明3. 实验配置4. SSH连接云实例5. 系统版本查看6. 主机名映射7. Docker安装[可选] Docker Compose安装8. 安装superset9. 初始化superset容器10. 为superset加入连接Athena需要的依赖11. 为superset准备一个具有权限的IAM用户12. 添加此IAM用户的权限策略13. 登录Superset控制面板14. 使用superset与Athena连接15. 导入数据集16. 制作Charts17. 开启并嵌入仪表盘Dashboard18. 常见报错问题19. 参考链接 1. SuperSet介绍 Apache Superset是一个开源的数据可视化和数据探索工具它可以帮助用户通过创建交互式仪表板来探索和呈现数据。Superset最初由Airbnb开发后来成为Apache软件基金会的一个孵化项目目前是Apache顶级项目之一。
以下是Apache Superset的一些关键特点和功能 数据连接Superset支持多种不同类型的数据源包括关系型数据库如MySQL、PostgreSQL、SQL Server、NoSQL数据库如MongoDB、云服务如Amazon Redshift、Google BigQuery以及文件格式如CSV、Excel等。 仪表板创建用户可以使用Superset创建交互式仪表板将数据可视化呈现为各种图表类型包括柱状图、折线图、饼图、地图、热力图等。 数据探索Superset提供了一个探索功能允许用户探索和分析数据执行数据切片和切块操作以便更深入地了解数据。 自定义查询用户可以使用SQL或图形化界面创建自定义查询并将结果可视化为图表。 安全性Superset提供了许多安全性功能包括身份验证和授权以确保只有授权的用户可以访问敏感数据。 集成Superset可以与其他工具和平台集成如Apache Druid、Apache Kafka、以及各种BI工具和数据存储系统。 社区支持由于Superset是一个开源项目它有一个活跃的社区不断更新和改进软件提供文档和支持。
总的来说Apache Superset是一个功能强大的数据可视化和探索工具可以帮助数据分析师、数据科学家和决策者更好地理解数据从而做出更明智的决策。它的灵活性和可扩展性使其成为各种组织和项目的理想选择。
2. 实验说明
本实验是基于Amazon EC2实例基于CentOS 7.9系统以Docker的安装方式部署搭建Superset 2.0 版本。用于实现数据库接入、数据采集、数据图表制作、数据控制面板制作数据可视化展示等相关功能。
3. 实验配置
云主机操作系统系统配置Docker版本Superset版本Superset访问端口Amazon EC2CentOS 7.98C16GBv24.0.7v 2.08088
4. SSH连接云实例
ssh -i 密钥 centosip地址5. 系统版本查看
[rootsuperset ~]# cat /etc/os-release
NAMECentOS Linux
VERSION7 (Core)
IDcentos
ID_LIKErhel fedora
VERSION_ID7
PRETTY_NAMECentOS Linux 7 (Core)
ANSI_COLOR0;31
CPE_NAMEcpe:/o:centos:centos:7
HOME_URLhttps://www.centos.org/
BUG_REPORT_URLhttps://bugs.centos.org/CENTOS_MANTISBT_PROJECTCentOS-7
CENTOS_MANTISBT_PROJECT_VERSION7
REDHAT_SUPPORT_PRODUCTcentos
REDHAT_SUPPORT_PRODUCT_VERSION76. 主机名映射
$ sudo vim /etc/hosts
# 添加如下
172.31.23.163 superset
52.82.109.114 superset
按:wq保存退出。7. Docker安装
✨Docker安装参考链接https://docs.docker.com/engine/install/centos/
卸载旧版Docker
# Images, containers, volumes, and networks stored in /var/lib/docker/ arent automatically removed when you uninstall Docker.
$ sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine安装Docker
# 安装yum-utils包它提供yum-config-manager实用程序
$ sudo yum install -y yum-utils# 设置存储库
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# 安装Docker Engine、containerd和Docker Compose
$ sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin# 启动docker服务
$ systemctl start docker systemctl enable docker
$ systemctl status docker# 查看docker信息
$ docker version
Client: Docker Engine - CommunityVersion: 24.0.7API version: 1.43Go version: go1.20.10Git commit: afdd53bBuilt: Thu Oct 26 09:11:35 2023OS/Arch: linux/amd64Context: default[可选] Docker Compose安装
# 安装
sudo curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-composesudo curl -L https://github.com/docker/compose/releases/download/v2.21.0/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-compose# 授权
sudo chmod x /usr/local/bin/docker-compose# 添加环境变量并生效
$ sudo vim .bashrc
# 添加内容如下
export PATH/usr/local/bin:$PATH
按:wq保存退出即可。$ source .bashrc# 查看docker-compose版本
$ docker-compose version8. 安装superset
# 从互联网下载Superset docker镜像
$ sudo docker pull amancevice/superset:2.0.0【此实验使用的是2.0版本】
amancevice/superset:1.4.2
amancevice/superset:2.0.0
amancevice/superset:3.0.0# 检查是否已经完成镜像的下载
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
amancevice/superset 3.0.0 4988654f9c90 6 weeks ago 2.49GB
amancevice/superset 2.0.0 893d72bb0d3a 11 months ago 2.54GB# 启动superset容器
$ sudo docker run -p 8088:8088 -d amancevice/superset:2.0.0$ docker run -d --name superset -u root -p 8088:8088 -v /opt/module/docker/superset/conf:/etc/superset -v /opt/module/docker/superset/data:/var/lib/superset amancevice/superset:2.0.0# 更新数据库
$ docker exec -it superset superset db upgrade# 创建superset管理员用户
$ docker exec -it superset superset fab create-admin# 初始化
$ docker exec -it superset superset init# 查看Superset容器运行状态
$ sudo docker psdocker exec -it superset superset run --with-threads --reload --debugger9. 初始化superset容器
# 执行docker exec -it CONTAINERID superset-init
$ sudo docker exec -it superset superset-init
Username [admin]: admin
User first name [admin]: admin
User last name [user]: admin
Email [adminfab.org]: admin
Password:
Repeat for confirmation:
logging was configured successfully10. 为superset加入连接Athena需要的依赖
# docker exec -it CONTAINERID pip install PyAthenaJDBC/PyAthena
$ sudo docker exec -it a00173a7f026 pip install PyAthenaJDBC
或
$ sudo docker exec -it superset pip install PyAthena# 重启系统生效
$ reboot至此完成了Superset的安装和对接Athena的准备工作。 11. 为superset准备一个具有权限的IAM用户 开通此用户superset访问密钥。 12. 添加此IAM用户的权限策略 AmazonAthenaFullAccess、AmazonS3FullAccess、AWSGlueConsoleFullAccess 13. 登录Superset控制面板 14. 使用superset与Athena连接
在添加数据库页面需要填写Database名称和SQLAlchemy URISQLAlchemy URI格式组成如下
awsathenarest://{aws_access_key_id}:{aws_secret_access_key}athena.{region_name}.amazonaws.com.cn/{schema_name}?s3_staging_dir{s3_staging_dir}…{aws_access_key_id}:{aws_secret_access_key}是刚刚创建的IAM ASSK{region_name}是Athena所在区域{schema_name}是Glue中存放表元数据的数据库名称{s3_staging_dir}是保存查询结果和记录的桶名称和路径可以填写Athena结果保存路径或是创建一个新的桶路径填在这里
例如最终拼接出中国区域的连接地址示例
awsathenarest://AKIASJCHSJHN87DXD980:XXXXXXXXXXathena.cn-northwest-1.amazonaws.com.cn/ml-data-lake?s3_staging_dirs3://aws-athena-query-results-xx/全球区域的连接地址示例
awsathenarest://AKIAT2RQT5XMNQINWOG7:xxxxxxxxxxathena.us-east-2.amazonaws.com/ml-data-lake?s3_staging_dirs3://tmp-263168716248/athena-output/15. 导入数据集 16. 制作Charts 17. 开启并嵌入仪表盘Dashboard
# 进入super容器
[rootsuperset ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
amancevice/superset 2.0.0 893d72bb0d3a 11 months ago 2.54GB[rootsuperset ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f7a2d51fe3aa amancevice/superset:2.0.0 gunicorn superset.a… 3 days ago Up 23 minutes (healthy) 0.0.0.0:8088-8088/tcp, :::8088-8088/tcp superset[rootsuperset ~]# docker exec -it superset /bin/bash
rootf7a2d51fe3aa:/home/superset## 修改config.py配置文件
rootf7a2d51fe3aa:/home/superset# vim /usr/local/lib/python3.8/site-packages/superset/config.py# 若执行vim命令失效安装即可。
apt-get update
apt-get install vimrootf7a2d51fe3aa:/home/superset# vim /usr/local/lib/python3.8/site-packages/superset/config.py
将EMNEDDED_SUPWESET的值由False修改成True。# 重启Superset
$ sudo systemctl daemon-reload
$ sudo docker restart superset18. 常见报错问题
报错一Refusing to start due to insecure SECRET_KEY # 生成密钥
$ sudo openssl rand -base64 42
21flr4CawbRDRwMcXJ6xN5DSJVWjMnt63TLZuLibtVTl/DqRKjY1Qq
1lQxdjKhLYa0DFjWQKVi6sS2bOMCOBKPgOiaO1wd6f1dlAfEpySPDRqg# 查看容器
$ docker ps# 进入容器
$ sudo docker exec -it -u root superset /bin/bash
或
$ sudo docker exec -it -u root a00173a7f026 /bin/bash# 进入容器内superset安装目录
$ cd /usr/local/lib/python3.9/site-packages/superset# 修改config.py文件中的SECRET_KEY
$ sed -i sSECRET_KEY os.environ.get(SUPERSET_SECRET_KEY) or CHANGE_ME_SECRET_KEYSECRET_KEY 1lQxdjKhLYa0DFjWQKVi6sS2bOMCOBKPgOiaO1wd6f1dlAfEpySPDRqg config.py# 查看原来的SECRET_KEY配置信息
$ cat config.py | grep SECRET_KEY
SECRET_KEY os.environ.get(SUPERSET_SECRET_KEY) or CHANGE_ME_SECRET_KEY# # 查看替换好的SECRET_KEY配置信息
$ cat config.py | grep SECRET_KEY
SECRET_KEY 21flr4CawbRDRwMcXJ6xN5DSJVWjMnt63TLZuLibtVTl/DqRKjY1Qq报错二sed: couldn’t open temporary file ./sedtTwnGr: Permission denied
# 以root管理员身份进入容器即可获得管理员权限。
$ sudo docker exec -it -u root a00173a7f026 /bin/bash
roota00173a7f026:/home/superset#或者在创建容器实例的时候增加参数 --privilegedtrue注意事项
境内的亚马逊云无法访问境外的亚马逊云中的数据库。需要使用境外的云主机实例才能关联Amazon Athena。
19. 参考链接
[1] 【superset安装】史上最全superset安装过程中错误解决方案
[2] 基于docker部署superset容器时出现的Refusing to start due to insecure SECRET_KEY报错解决办法
✨[3] Docker容器里没有权限执行命令提示Permission denied
[4] Superset安装部署docker版
[5] https://bigdata.awspsa.com/4-数据分析与可视化/4_3-实验4.html
[6] Docker部署Superset 2.1.0开发环境汉化匿名访问创建自定义图表二次开发集成echartsecharts百度地图
[7] Welcome | Superset