superset安装配置中的几点注意事项

先放个官网安装配置文档:https://superset.incubator.apache.org/installation.html,网上的介绍文档虽然不少,但看来看去还不如官网的文档准确可靠,所以还是以官网文档为基础。
两种安装方式,第一种是推荐的docker,但我的机器一是不能联通外网,二是有在使用中的docker服务,不好解决冲突,所以还是换第二种,python的安装方式。
官网推荐用沙盒方式python virtualenv,但我用的是虚机试装,无所谓环境隔离。所以跳过这一步,直接上pip安装。
官网的安装步骤很简单,一共就5步:
# 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

# To start a development web server on port 8088, use -p to bind to another port
superset runserver -d
实际安装就是第一步:pip install superset
但实际过程中还是要解决不少问题,我还记得的有:
升级pip到最新版本,否则有些module安装不上
如果访问外网源有问题,想用pip指定内网源的话,加--trusted-host和-i参数:
# pip install --trusted-host mirrors.idc.公司内网.com -i http://mirrors.idc.公司内网.com/pypi/web/simple superset 
需要python开发包
# yum install python-devel 
python2.7的话需要升级dateutil:
# pip install --trusted-host mirrors.idc.公司内网.com -i http://mirrors.idc.公司内网.com/pypi/web/simple --upgrade python-dateutil

需要安装C++的编译运行环境,gcc和g++,前面一篇博文有写
还有一些其他报错,大致都是差module或者module之间有版本冲突,依据安装时的输出依次解决就行。比如创建admin用户的时候,总是报错参数个数不对,这就是markdown的版本高了,需要指定一下版本安装:
# pip install --trusted-host mirrors.idc.公司内网.com -i http://mirrors.idc.公司内网.com/pypi/web/simple "markdown<3.0.0" superset

安装完毕,可以按第3,4,5,6步导入Demo数据再把服务拉起来,然后通过8088端口用创建的admin账户访问
自带的Demo数据没啥好说的,导入自己数据的时候需要注意一下。现在用MySQL应该比较多,它的官网上虽然说MySQL支持好几种连接engine,但这里还是得用它推荐的mysqlclient连接的方式,那么需要装一下mysqlclient:
pip install mysqlclient
开始不信邪,用了mysqlconnector:
mysql+mysqlconnector://scott:tiger@localhost/foo
开始用得还挺爽,但是后来用SQL编辑器的时候,总是SQL报错,费了半天劲,才查到superset不推荐用mysqlclient之外的方式
还有一个,就是添加数据库的时候,需要写数据库SQLAlchemy URI的连接,但是这里有两点需要注意的:一是需要显性地指定utf8,否则数据展示的时候中文都是???;另一个是如果数据库更改了默认的数据存放地方,那么mysql.sock文件的位置改变,这里也需要指定,否则连接会失败:
mysql://user:password@localhost/qoc?charset=utf8&unix_socket=/export/Data/db/mysql/mysql.sock
这样就行
其他都是使用上的问题了。昨天发现貌似它的SQL查询有点儿问题,并没有查出我数据库中全部的数据,还得看看到底是什么问题...

评论

此博客中的热门博文

Windows上调试C/C++程序时自动产生coredump的设置方法

利用Gitlab的Jira issue tracker实现Jira issue自动根据Gitlab commit/merge更新状态

go用xorm去update数据库的一个坑