superset功能概述: 豐富的數據可視化集 易於使用的界面,用於探索和可視化數據 創建和共用儀錶板 與主要身份驗證提供程式集成的企業級身份驗證(通過Flask AppBuilder進行資料庫,OpenID,LDAP,OAuth和REMOTE_USER) 可擴展的高粒度安全/許可權模型,允許誰可以訪 ...
superset功能概述:
-
豐富的數據可視化集
-
易於使用的界面,用於探索和可視化數據
-
創建和共用儀錶板
-
與主要身份驗證提供程式集成的企業級身份驗證(通過Flask AppBuilder進行資料庫,OpenID,LDAP,OAuth和REMOTE_USER)
-
可擴展的高粒度安全/許可權模型,允許誰可以訪問各個功能和數據集的複雜規則
-
一個簡單的語義層,允許用戶通過定義哪些欄位應顯示在哪個下拉列表以及哪些聚合和功能度量標準可供用戶使用來控制數據源在UI中的顯示方式
-
通過SQLAlchemy與大多數講SQL的RDBMS集成
-
與Druid.io深度整合
部署:
官網:http://superset.apache.org/installation.html
一. 準備python3環境
#安裝基礎依賴
yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
#superset用到的依賴
yum install gcc-c++ python-devel.x86_64 cyrus-sasl-devel.x86_64
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
#速度慢,直接去官網下載相應版本
mkdir -p /usr/local/python3
然後解壓壓縮包,進入該目錄,安裝Python3
tar -xvf Python-3.6.2.tar.xz
cd Python-3.6.2
./configure --prefix=/usr/local/python3
make && make install
創建軟鏈接:
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
在命令行中輸入python3測試:
[root@oldboy .superset]# python3 --version
Python 3.6.2
二 創建python3的虛擬環境
pip3 install virtualenv
mkdir /data
python3 -m venv venv
#創建成功會在/data目錄下生成虛擬目錄:
[root@oldboy .superset]# cd /data
[root@oldboy data]# ls
venv
#激活
. venv/bin/activate
三在虛擬環境中安裝superset
(venv) [root@oldboy data]# pip install --upgrade setuptools pip
pip install superset
# Initialize the database
superset db upgrade
# Create an admin user (you will be prompted to set a username, first and last name before setting a password)
$ export FLASK_APP=superset
flask fab create-admin --app superset
# Load some data to play with
superset load_examples
# Create default roles and permissions
superset init
#啟動,預設埠是8088
superset runserver -d
#預設資料庫是sqlite,在配置文件里可以改為mysql等
/data/venv/lib/python3.6/site-packages/superset/config.py
連接mysql需要安裝:
yum install mysql-devel
pip install mysqlclient
連接impala需要安裝:
pip install impyla 需要重啟服務
註意:
在安裝中初始化資料庫時會報錯,這是superset的bug: 可以去https://github.com/apache/incubator-superset/issues看
1/ cannot import name '_maybe_box_datetimelike'
解決方法:
pip uninstall pandas
pip list | grep pandas
pip install pandas==0.23.4
2/ "Can't determine which FROM clause to join "
sqlalchemy.exc.InvalidRequestError: Can't determine which FROM clause to join from, there are multiple FROMS which can join to this entity. Try adding an explicit ON clause to help resolve the ambiguity.
解決方法:
pip install sqlalchemy==1.2.18