360SDN.COM

Superset的各种疑难解答

来源:秦路  2017-09-11 14:21:58    评论:0点击:

之前安利了大家Superset,后台留言的同学比较多,主要是安装上的各种坑。superset因为是企业级的轻量BI,对window的支持不太好。所以大家疑问比较多,单独增加一篇推文在这里统一解答下。

  sasl安装错误

Failed building wheel for sasl    error: Microsoft Visual C++ 10.0 is required. Get it with "Microsoft Windows SDK 7.1": 

这个错误是因为sasl的安装需要C++编译,最简单的方法是下载一个whl格式的文件。

http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml

下载文件,sasl?0.2.1?cp34?cp34m?win_amd64.whl,cp34对应的是python版本。

pip install xxxxx/sasl?0.2.1?cp34?cp34m?win_amd64.whl

仍旧是pip install的方式,后面对应文件所在的路径,简单方法是将文件拖拽到cmd窗口。

  superset不是内部或外部命令

这是命名行没有写入环境变量,在cmd中切换至superset安装目录下的bin文件夹。

输入cd 路径(要带空格的),如下图案例。如果anaconda安装在D盘,首先得输入「D:」切换系统盘,然后再CD。

当目录环境变为,类似XXX\Lib\site-packages\superset\bin> 时,输入python superset db upgrade即可正确启动superset初始化,superset命令前都要有python前缀。


以后每次用都要这样,并且要先进入虚拟环境。

  superset runserver失败

Superset对windows的支持并不好,正常的runserver是启动不了的,必须以开发者模式启动。

python superset runserver -d 

否则会报文件缺失错误。

  Failed to start remote query on a worker

这是在建立database后,执行sql query报错。

在编辑database的时候,Expose in SQL Lab和Allow Run Sync都要勾选上,下面其余的不要勾选,保留这两个就好了。

  “module" object has no attribute 'SIGALRM'


在勾选完Expose in SQL Lab和Allow Run Sync后,windows用户可能会出现上面的一些错误。

这是windows下依赖包不兼容产生的。Python的signal包只作用于linux和mac,在win是不启作用的,所以这一块在win会产生冲突于是报错。开发团队应该是不小心的。

解决方法就是把相关部分的代码注释掉,这块代码的功能是超时后把query进程杀掉,注释后没大影响。大家记得就好,我测试过了。



如上图,把signal所在行都注释,下面再加一个pass就好了,粗糙了点,没太大影响。文件在superset/utils.py下,代码中间部分。


其他一些小问题都是细节的,比如防火墙屏蔽,比如SQL读取的时候数据类型报错,这个可以靠调试解决。


大概问题是这几个,有的话可以继续留言。





阅读原文

为您推荐

友情链接 |九搜汽车网 |手机ok生活信息网|ok生活信息网|ok微生活
 Powered by www.360SDN.COM   京ICP备11022651号-4 © 2012-2016 版权