1、pip流
装了pip可以无视步骤2,但是专业人士一般会使用Anaconda
1.1、装pip
https://pip.pypa.io/en/stable/installing/
懒得看就直接:
a)wgethttps://bootstrap.pypa.io/get-pip.py
b)sudo python get-pip.py
1.2、装virtualenv
http://qicheng0211.blog.51cto.com/3958621/1561685
懒得看就直接:
a)sudo pip install virtualenv
b)sudo pip install virtualenvwrapper
c)给自己~/.profile里加上
export WORKON_HOME=~/{自己起个名放workspace}
source /usr/bin/virtualenvwrapper.sh #如果是pip下来的一般会在/usr/local/bin/virtualenvwrapper.sh,总之自己找一下
d)mkvirtualenv superset
2、Anaconda流
2.1、装Anaconda
a)官网下一个https://www.anaconda.com/download/#linux,500多M,觉得慢可以到小伙伴那里抓一个过来
b)不用sudo,bash Anaconda2-*******.sh
c)一路回车,默认会装在~/anaconda2目录下,如果想装在别的地方,在看完那个巨长的一定要看但是肯定没人看的用户协议之后,输入安装目录
d)把anaconda2/bin加到你的PATH里
e)更新一下自己conda upgrade --all
做完上一步,你一定发现下包速度很慢了,按下面的来
# 添加Anaconda的TUNA镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
# TUNA的help中镜像地址加有引号,需要去掉
# 设置搜索时显示通道地址
conda config --set show_channel_urls yes
2.2、配个环境
其实anaconda自带切环境功能,
conda create -n {env_name}
source activate {env_name}
conda install pip
更多操作看这里http://www.jianshu.com/p/169403f7e40c
3、装superset
https://superset.incubator.apache.org/installation.html
懒得看就直接:
写作“注意”,读作“坑”:如果你先装的pip,后装的anaconda,使用pip install superset的时候,使用pip -V看一下你使用的是系统默认的pip还是虚拟环境中的pip
a)刷一下pip install --upgrade setuptools pip
b)官方教你走一下这个流程
# Install supersetpipinstallsuperset
# Create an admin user (you will be prompted to set username, first and last name before setting a password)fabmanagercreate-admin--appsuperset# Initialize the databasesupersetdbupgrade# Load some data to play withsupersetload_examples# Create default roles and permissionssupersetinit# Start the web server on port 8088, use -p to bind to another portsupersetrunserver# To start a development web server, use the -d switch# superset runserver -d
以下是赠品
4、打通superset与kylin
4.1、安装pykylin
a)照着做:https://github.com/imaidata/pykylin
b)python setup.py install的时候可能会报README找不到,在setup.py里找到readme相关的两行代码注释之
b)在superset中添加数据源,source → databases → add record 然后这么填
kylin://{此处是账号}:{此处是密码}@{url}:{port}/kylin/api?project={project}
c)点test connection,等出现seems ok, 不过一般来说会报flask_wtf.csrf: The CSRF token has expired
一般来说这是缺少flask包导致的,conda install flask或者pip install flask
4.1、改pykylin源码
由于pykylin的代码已经比较陈旧,跟不上superset和kylin的更新
本次修改基于如下版本,不保证其他版本有效
superset:0.20.4
apache kylin:release 2.1
pykylin:https://github.com/imaidata/pykylin/commits/mastercommit9f5f2d7218f76b35c76a3bc3de22db4cbe09f61d
a) 添加table的时候会报get_table_names参数个数不对,修改pykylin的dialect.py,找到get_table_names和get_schema_names两个方法,将3个参数扩充为四个,姑且叫做unknown=None,如下图:
b) count是kylin关键字,pykylin会将sql中的count替换为'__superset_count',但返回时未替换回来,所以需要修改cursor.py的execute方法。62行65行
网友评论