数据统计可视化

商业智能分析工具Superset

之前我们在用ClickHouse做数据统计分析,在这里过程中接触到了SuperSet这个工具。最开始试图在本地用Docker部署一套系统,后来因为环境问题,就直接用Python环境部署了一套 真实的环境, 而不是直接使用镜像。

之前我们在用ClickHouse做数据统计分析,在这里过程中接触到了SuperSet这个工具。最开始试图在本地用Docker部署一套系统,后来因为环境问题,就直接用Python环境部署了一套 真实的环境, 而不是直接使用镜像。

Superset的安装相对比较程序化。

前期运维的一个是正确的安装软件依赖包,另一个是正确启动服务相关命令。

1.安装Mysql库。

sudo yum install mysql-devel
pip install mysqlclient
pip install mysql

2.IPtable开放80端口

sudo /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
sudo service iptatbles save

3.安装Superset使用的数据库的依赖

MySQL	pip install mysqlclient	mysql://
Postgres	pip install psycopg2	postgresql+psycopg2://
Presto	pip install pyhive	presto://
Oracle	pip install cx_Oracle	oracle://
sqlite		sqlite://
Redshift	pip install sqlalchemy-redshift	redshift+psycopg2://
MSSQL	pip install pymssql	mssql://
Impala	pip install impyla	impala://
SparkSQL	pip install pyhive	jdbc+hive://

4.启动Superset服务

#安装Superset 
pip install superset 

#创建管理员用户名和密码 
fabmanager create-admin --app superset 

#初始化Superset 
superset db upgrade 

#装载初始化样例数据 
superset load_examples 

#创建默认角色和权限 
superset init 

#启动Superset 
superset runserver 

5.Docker方式安装Superset

# 安装Docker
pip uninstall docker-compose
pip install docker-compose==1.18.0
# 安装镜像
docker pull amancevice/caravel
docker run --name caravel -d -p 8088:8088 amancevice/caravel
docker exec -it caravel demo
docker exec -it ac94ec4d9469 demo

6.管理yum工具包

yum -y install yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce-17.06.0.ce-1.el7.centos.x86_64 -y
apt-get install python-dev libsasl2-dev gcc 
yum install gcc-c++ python-devel.x86_64 cyrus-sasl-devel.x86_64

7.安装Python依赖包

yum install python-setuptools
yum install python2-pip
pip install --upgrade pip
pip install setuptools-scm
sudo pip install --upgrade setuptools
SQLAlchemy-1.2.8.tar.gz
yum install python-dev
install libgsasl-devel
pip install pyhs2
pip install sasl 
pip install thrift 
pip install thrift-sasl 
pip install PyHive

8.系统工具包

yum install psmisc

未完待续…

Docker安装

Supersete有一个问题是依赖包复杂的问题, 这各情况Docker解放了大家,可以直接Pull下镜像使用,我们来还原一个基本Superset的Docker方式的安装过程。

创建本地的配置文件和数据库

mkdir /data/docker/volumes/superset/conf -p

mkdir /data/docker/volumes/superset/data -p

拉取superset镜像

docker pull amancevice/superset:0.18.5

运行镜像

docker run -p 8088:8088 -v /data/docker/volumes/superset/conf:/etc/superset -v /data/docker/volumes/superset/data:/data –name superset -d amancevice/superset:0.18.5

配置本地配置文件

vi /data/docker/volumes/superset/conf/superset_config.py

#---------------------------------------------------------

# Superset specific config

#---------------------------------------------------------

ROW_LIMIT = 5000

SUPERSET_WORKERS = 4

SUPERSET_WEBSERVER_PORT = 8088

#---------------------------------------------------------

#---------------------------------------------------------

# Flask App Builder configuration

#---------------------------------------------------------

# Your App secret key

SECRET_KEY = '\2\1thisismyscretkey\1\2\e\y\y\h'

# The SQLAlchemy connection string to your database backend

# This connection defines the path to the database that stores your

# superset metadata (slices, connections, tables, dashboards, ...).

# Note that the connection information to connect to the datasources

# you want to explore are managed directly in the web UI

SQLALCHEMY_DATABASE_URI = 'sqlite:////data/superset.db'

# Flask-WTF flag for CSRF

WTF_CSRF_ENABLED = True

SQLALCHEMY_TRACK_MODIFICATIONS = True

SQLALCHEMY_COMMIT_TEARDOWN = True

# Set this API key to enable Mapbox visualizations

MAPBOX_API_KEY = ''

SQLALCHEMY_TRACK_MODIFICATIONS = True

SQLALCHEMY_COMMIT_TEARDOWN = True

启动、关闭、重启服务

docker restart superset docker stop superset docker start superset

以root权限进入容器内部

docker exec -u 0 -it superset /bin/bash

创建超级用户账号

docker exec -it superset fabmanager create-admin –-app superset

初始化数据库

docker exec -it a0279f48fdc4 superset db upgrade