Superset环境配置

前端之家收集整理的这篇文章主要介绍了Superset环境配置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

前言

公司最近在用[superset][6]自己尝试着安装配置了一下环境,特意写一个博客记录一下,以后忘了自己可以看看,也希望可以帮到有需要的人。
注意!本次环境是在ubuntu下搭建的。
  • superset简介
    Apache Superset是一个现代化的企业级商业智能Web应用程序
    特征
    1.丰富的数据可视化集
    2.一个易于使用的界面,用于探索和可视化数据
    3.创建和共享仪表板
    4.通过与主要认证提供程序(数据库,OpenID,LDAP,OAuth和REMOTE_USER通过Flask AppBuilder)集成的企业级身份验证
    5.可扩展,高粒度的安全/权限模型,允许复杂的规则可以访问个别功能和数据集
    6.一个简单的语义层,允许用户通过定义哪些字段应显示在哪个下拉菜单中以及哪些聚合和功能度量可用于用户来控制数据源在UI中的显示方式
    7.通过sqlAlchemy与大多数sql语言的RDBMS集成
    8.与Druid.io深度整合

  • 安装依赖

sudo  apt - get  install  build - essential  libssl - dev  libffi - dev  python - dev  python - pip  libsasl2 - dev  libldap2 - dev

这是直接从官方文档copy过来的,superset后台是用python写的所以需要一个python的环境,ubuntu一般会自带一个python,不过版本比较低,superset不支持2.6,我下的一个3.6.2是可以用的,自己下载一个安装包,解压之后
1. sudo ./configure
2. sudo make
3. sudo make install

  • 安装 virtualenv
    virtualenv这个东西我也不是很清楚,目前的理解就相当于一个虚拟环境吧,在虚拟环境里可以自由选择python的版本
pip  install  virtualenv
  • 创建虚拟环境
virtualenv venv --python=pythonxx

venv 这个名字随便取pythonxx写自己的python版本对应的执行文件

  • 激活虚拟环境
. ./venv/bin/activate

/venv/和你去取得名字对应即可,要推出虚拟环境使用deactivate命令

  • 安装一些工具
pip install --upgrade setuptools pip

好吧,这个我也不知道是什么,pip好像是管理python的一个工具

  • 安装superset
# Install superset
pip install superset

# Create an admin user (you will be prompted to set username,first and last name before setting a password) fabmanager create-admin --app superset # Initialize the database superset db upgrade # Load some data to play with superset load_examples # Create default roles and permissions superset init # Start the web server on port 8088,use -p to bind to another port superset runserver # To start a development web server,use the -d switch # superset runserver -d

这是官方的做法,但是!我们在国内,下载速度几十K,不忍直视,这里用阿里镜像速度快N倍

sudo -H pip install superset -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

不用谢,安装完按上述步骤执行到superset runserver 后,用浏览器访问你服务器的8088端口,就可以看到登陆界面。此时看到的一个数据是superset为了演示实现准备的。下面界面怎么连我们自己的数据库
配置连接数据库
这里我连的是自己的MysqL数据库,其他数据库大同小异
1.安装客户端
在虚拟环境下运行

pip -install MysqLclient

这里有时候会出现一个错误

OSError: MysqL_config not found

apt-get install libMysqLclient-dev python3-dev

解决方法如上!

接下来编写配置文件

#---------------------------------------------------------
# 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
# 这里写MysqL的连接信息,superset会在这个数据库创建一些自己需要用到的表比如有关权限的7张表
sqlALCHEMY_DATABASE_URI = 'MysqL://用户名:密码@路径/数据库名字?chartset=utf8'

# Flask-WTF flag for CSRF
WTF_CSRF_ENABLED = True
# Add endpoints that need to be exempt from CSRF protection
WTF_CSRF_EXEMPT_LIST = []

# Set this API key to enable MapBox visualizations
MAPBox_API_KEY = ''

最后在把这个配置文件(superset_config.py)放入venv的bin目录即可。
我在用虚拟机连接我本机数据库的时候,一致显示加载配置文件,搞了半天原来是本机防火墙的原因,关掉之后就可以连接了。配置文件那块,有些字符被自动转成中文的了,复制的时候要注意一下

  • 最后在重新创建一个用户重新启动一下就OK,superset会在根据配置文件的指定的数据库生成一些自己需要的表,比如设计权限的,一些数据相关的。
    这块就差不多了,superset还需要好好研究一下
原文链接:https://www.f2er.com/ubuntu/351076.html

猜你在找的Ubuntu相关文章