【大数据】可视化仪表板 - Superset的安装和使用

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: 【大数据】可视化仪表板 - Superset的安装和使用

一、Superset简介

Apache Superset是一个现代化的、企业级的数据探索和可视化平台,旨在帮助数据工程师和科学家在Web界面上创建和共享各种类型的数据洞察。

1. 软件作用

Apache Superset 的底层是一个 Flask 应用程序,其核心功能包括数据可视化、仪表板制作、数据切片和切块、以及 SQL Lab。在 Superset 的应用结构中,Flask 应用程序处理路由、视图函数和模板渲染,而 SQLAlchemy 提供了对多种数据库的抽象访问。

Apache Superset 支持多种数据源,可以连接到任何 SQL-speaking 数据库或数据引擎(如 MySQL、Postgres、BigQuery、Redshift 等),同时也支持各种 大数据组件 如 Hive、Presto、Druid 等,只需要安装部分组件即可。

2. 软件特点

  • 具有丰富的数据可视化组件库,提供了多种图表类型,可以满足各种数据展示需求
  • 使用SQL Lab可以直接执行SQL查询,方便快捷
  • 采用响应式设计,对移动设备友好
  • 具有强大的数据权限管理功能,可以精细控制每个用户的数据访问权限

二、Superset安装

1. 前置环境

软件需要运行在Python 3.6及以上版本,推荐使用虚拟环境,官方给出的安装步骤:https://superset.apache.org/docs/installation/installing-superset-from-scratch/

  • virtualenv安装:pip install virtualenv
  • 创建虚拟环境:python3 -m venv superset
  • 激活虚拟环境:. superset/bin/activate
  • 前置环境安装

开始安装前,需要确保系统环境以及python虚拟环境已经安装了以下内容:

sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install python3-dev
pip install wheel

2. 安装配置

  • 安装superset:pip install apache-superset

  • 前置设定
# 推荐添加到环境变量配置文件中
export FLASK_APP=superset
superset fab create-admin

此时会遇到一个警告,我可以可以按照如下步骤来解决:

touch superset_config.py

# 推荐添加到环境变量配置文件中
export SUPERSET_CONFIG_PATH=/home/hadoop/superset/superset_config.py
superset fab create-admin

配置SUPERSET_CONFIG_PATH的路径,指向刚刚创建的config文件,完成后再次进行启动。

  • 报错解决

笔者在执行命令的过程中出现如下报错:

这是由于 sqlparse 不兼容导致的,默认安装了0.4.4,可以通过以下命令确认版本:

pip show sqlparse

此时需要降级到0.4.3,这是由于我目前安装的superset限制版本区间最低为0.4.3,如果大家选择了其它的版本请根据实际情况处理:

pip uninstall sqlparse
pip install sqlparse==0.4.3

3. 启动访问

前面的初始化步骤完成后可以导入一些样例数据,然后进行启动,在执行所有操作前需要先进行初始化。

  • 导入样例数据
# 初始化命令
superset db upgrade
# 加载数据,耗时较长
superset load_examples
  • superset构建

首先需要下载前端项目的源代码,然后确保系统已经安装了Node环境。小编当前使用的版本要求node 16.9.1以上,npm 7.5.4 || 8.1.2 以上,这里以安装node 16.x为例。

git clone https://github.com/apache/superset.git

强烈提醒:请保证NodeJS的大版本一致,否则需要自己想办法解决各种构建问题。如果遇到RpcIpcMessagePortClosedError错误,一般为内存不足导致,请尝试增加内存。

# 安装构建所需环境
sudo apt  install curl
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo npm install -g npm@latest
sudo npm install -g node-gyp
# ARM架构需要手动安装chromium-browser
sudo apt install chromium-browser
# 构建前端项目
npm ci
# 预先解决一些构建中遇到的问题
npx update-browserslist-db@latest
# 该步骤耗时较长 - 需要保证可用内存在4GB以上
npm run build
  • superset启动
# 切换到superset-frontend的上一级目录
cd ..
superset run -p 8088 --with-threads --reload --debugger

  • superset访问

启动后,在浏览器访问8088端口即可,使用此前初始化是设定的密码进行登录:

可以查看到,已经显示了此前导入过的样例:

三、数据源配置

在操作界面右上角,支持多种数据源添加方式,本文将介绍数据库连接方式。

1. PostgreSQL

  • 依赖安装

在连接PostgreSQL时,需要在项目启动之前,先安装相关依赖。激活superset虚拟环境后执行如下命令:

pip install psycopg2-binary
  • 连接配置

在配置界面,默认支持PostgreSQL和SQLite两种直接导入方式:

选择PostgreSQL进入配置界面:

连接成功后,可以开始创建DATASET,或者也可以使用:

点击FINISH后,再次点击右上角的➕,此时Data选单下出现Create dataset

2. MySQL

当已经添加了一个数据库连接后,想要再次添加另外的数据源,可以按照如下步骤操作:

然后在操作界面中可以再次看到添加DATABASE的按钮,如图:

  • 依赖安装

在连接MySQL时,需要在项目启动之前,先安装相关依赖。激活superset虚拟环境后执行如下命令:

sudo apt-get install libmysqlclient-dev
pip install mysqlclient
  • 连接配置

在配置界面,选择Other,通过连接字符串来直接配置:

连接字符串为SQLAlchemy URI格式 -> mysql://username:password@hostname:port/database

3. Hive

  • 依赖安装

在连接Hive时,需要在项目启动之前,先安装相关依赖。激活superset虚拟环境后执行如下命令:

pip install PyMySQL
pip install pyhive
pip install thrift
sudo apt-get install python-dev libsasl2-dev
pip install sasl
pip install thrift_sasl

连接前确保Hive相关服务已经启动,具体步骤可以参考:Hive 3.x的安装部署 - Ubuntu

  • 连接配置

在配置界面,选择Other,通过连接字符串来直接配置:

连接字符串为SQLAlchemy URI格式 -> hive://username:password@hostname:port/database

在连接测试通过后,点击CONNECT按钮可能会出现一个无法连接的异常,但是小编实际测试后发现并没有任何影响。此时连接已经成功创建,我们只要将弹窗关闭,然后刷新页面即可,后续的使用也一切正常。

4. 其它说明

当我们不断的向superset的虚拟环境添加各种连接所需的依赖,并且创建相应类型的连接后,操作界面就会变得越来越丰富:

当我们需要的数据源类型基本稳定后,就可以将superset进程挂在后台运行了,这样我们可以专注于可视化的工作:

# 进入到对应目录后执行
nohup superset run -p 8088 --with-threads --reload --debugger &

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
1月前
|
消息中间件 监控 数据可视化
大数据-79 Kafka 集群模式 集群监控方案 JavaAPI获取集群指标 可视化监控集群方案: jconsole、Kafka Eagle
大数据-79 Kafka 集群模式 集群监控方案 JavaAPI获取集群指标 可视化监控集群方案: jconsole、Kafka Eagle
53 2
|
1月前
|
存储 分布式计算 资源调度
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
76 5
|
1月前
|
资源调度 数据可视化 大数据
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(二)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(二)
36 4
|
5月前
|
分布式计算 数据可视化 大数据
于SpringBoot+大数据城市景观画像可视化设计和实现
于SpringBoot+大数据城市景观画像可视化设计和实现
|
3月前
|
数据可视化 大数据
【Echarts大屏】大数据平台可视化大屏
【Echarts大屏】大数据平台可视化大屏
【Echarts大屏】大数据平台可视化大屏
|
3月前
|
数据采集 数据可视化 大数据
【优秀python大屏案例】基于python flask的前程无忧大数据岗位分析可视化大屏设计与实现
本文介绍了一个基于Python Flask框架的前程无忧大数据岗位分析可视化大屏系统,该系统通过爬虫技术采集招聘数据,利用机器学习算法进行分析,并以可视化大屏展示,旨在提高招聘市场数据分析的效率和准确性,为企业提供招聘决策支持和求职者职业规划参考。
153 2
|
3月前
|
SQL 分布式计算 数据可视化
基于Hadoop的大数据可视化方法
【8月更文第28天】在大数据时代,有效地处理和分析海量数据对于企业来说至关重要。Hadoop作为一个强大的分布式数据处理框架,能够处理PB级别的数据量。然而,仅仅完成数据处理还不够,还需要将这些数据转化为易于理解的信息,这就是数据可视化的重要性所在。本文将详细介绍如何使用Hadoop处理后的数据进行有效的可视化分析,并会涉及一些流行的可视化工具如Tableau、Qlik等。
124 0
|
3月前
|
监控 数据可视化 前端开发
【前端】政务服务大数据可视化监控平台(源码+html+css+js)
【前端】政务服务大数据可视化监控平台(源码+html+css+js)
|
5月前
|
分布式计算 Hadoop 大数据
【大数据】Hadoop下载安装及伪分布式集群搭建教程
【大数据】Hadoop下载安装及伪分布式集群搭建教程
225 0
|
5月前
|
分布式计算 数据可视化 大数据
基于spark的医疗大数据可视化大屏项目
基于spark的医疗大数据可视化大屏项目
126 0
下一篇
无影云桌面