【原創】Superset在windows下的安裝配置

Superset是由Airbnb(知名在線房屋短租公司)開源BI數據分析與可視化平臺(曾用名Caravel、Panoramix),該工具主要特色是可自助分析、自定義儀表盤、分析結果可視化(導出)、用戶/角色權限控制,還集成了一個SQL編輯器,能夠進行SQL編輯查詢等,原來是用於支持Druid的可視化分析,後面發展爲支持不少種關係數據庫及大數據計算框架,如:mysql, oracle, Postgres,Presto,sqlite, Redshift,Impala, SparkSQL, Greenplum, MSSQL. html

 

Superset官網地址爲:python

http://superset.apache.org/index.htmlmysql

官網說明對Windows系統當前沒有官方支持,不過其實是能夠安裝成功的。c++

筆者安裝環境爲windows 10 64位企業版。git

 

安裝步驟:github

1. 安裝Python。 建議安裝Python 3.4 以上版本。Python 2.7 版本在windows 上存在各類編碼問題。sql

  https://www.python.org/downloads/release/python-350/數據庫

  下載Windows x86-64 executable installer 。直接使用exe的安裝包便可,安裝過程當中選中增長到環境變量。apache

  檢查:CMD下 分別運行python -V  和 pip-V。若是找不到命令,則須要添加python的安裝目錄到path環境變量下。windows

2. 安裝 virtualenv。(此步驟可選,直接安裝的話跳到第四步。由於Superset須要安裝的組件較多,最好是使用virtualenv獨立一套python環境。)   

  在開發Python應用程序的時候,系統安裝的Python3只有一個版本。全部第三方的包都會被pip安裝到Python3的site-packages目錄下。

  若是咱們要同時開發多個應用程序,那這些應用程序都會共用一個Python,就是安裝在系統的Python 3。若是應用A須要jinja 2.7,而應用B須要jinja 2.6怎麼辦?

  這種狀況下,每一個應用可能須要各自擁有一套「獨立」的Python運行環境。virtualenv就是用來爲一個應用建立一套「隔離」的Python運行環境。  

  安裝命令:

pip install virtualenv

3.使用virtualenv。

  先在D盤創建d:\python\myproject 目錄。

d:
md python
cd python
md myproject
cd myproject

  而後激活

cd d:\python\myproject

virtualenv env
//等待初始化完成...

//激活:
env\Scripts\activate

  激活以後的界面以下圖,注意在命令行輸入的左側有(env)標記,這樣咱們的後續操做都會在env中生效,不會影響總體的pyhton環境。

4.安裝VS2015。

  Superset中依賴的一些庫須要使用microsoft visual c++ 2010編譯。

  根聽說明應該是也能夠安裝 Visual C++ 2015 Build Tools:  http://landinghub.visualstudio.com/visual-cpp-build-tools

5. 安裝sasl。

  這裏是個大坑, 我以前直接安裝superset一直安裝不成功,報錯(sasl.h 找不到)。

  解決辦法是:經過 http://www.lfd.uci.edu/~gohlke/pythonlibs/#sasl 下載對應的版本

  好比我們安裝的python 是3.5版本,系統是64位,就下載sasl-0.2.1-cp35-cp35m-win_amd64.whl。
  

pip install D:\Downloads\sasl-0.2.1-cp35-cp35m-win_amd64.whl 

6. 前置項安裝完畢,開始安裝superset。

  

pip install superset
# 建立管理員賬號

fabmanager create-admin --app superset
# 初始化數據庫 (windows下,先進入到 Python安裝目錄(或者virtualEnv的虛擬目錄)下,libs\site-packages\superset\bin下)

Python  superset db upgrade
# 加載例子(後續操做都須要在libs\site-packages\superset\bin下)

Python superset load_examples

# 初始化角色和權限

Python superset init

# 啓動服務,端口 8088, 使用 -p 更改端口號。

Python superset runserver -d

 

而後使用瀏覽器,打開localhost:8088便可看到登陸頁面。

 

 

7. Superset漢化

  (1)進入Superset安裝目錄,執行如下命令,建立相應目錄(translations/zh/LC_MESSAGES ):

    

md  translations
cd translations
md zh
cd zh
md LC_MESSAGES

 

  (2)下載漢化的mo文件
  官方github:
    https://github.com/apache/incubator-superset/tree/master/superset/translations/zh/LC_MESSAGES
  下載 messages.mo文件放在上面創建的目錄下
  也能夠下載messages.po文件,本身手動去漢化,再將po文件編譯爲mo文件,編譯方式,執行命令:
    

msgfmt messages.po -o messages.mo

 

  (3)修改config.py文件,並重啓Superset ,修改部分以下:

  

# Setup default language 
BABEL_DEFAULT_LOCALE = 'zh' 
# Your application default translation path 
BABEL_DEFAULT_FOLDER = 'babel/translations' 
# The allowed translation for you app 
LANGUAGES = { 
#'en': {'flag': 'us', 'name': 'English'}, 
# 'fr': {'flag': 'fr', 'name': 'French'}, 
'zh': {'flag': 'cn', 'name': 'Chinese'} 
}

 

  (4)關閉瀏覽器從新打開便可看到漢化效果

 

8.  數據源。

  Superset默認使用sqllite。支持如下數據庫:

database pypi package SQLAlchemy URI prefix
MySQL pip install mysqlclient mysql://
Postgres pip install psycopg2 postgresql+psycopg2://
Presto pip install pyhive presto://
Oracle pip install cx_Oracle oracle://
sqlite   sqlite://
Redshift pip install sqlalchemy-redshift postgresql+psycopg2://
MSSQL pip install pymssql mssql://
Impala pip install impyla impala://
SparkSQL pip install pyhive jdbc+hive://
Greenplum pip install psycopg2 postgresql+psycopg2://
Athena pip install "PyAthenaJDBC>1.0.9" awsathena+jdbc://
Vertica pip install sqlalchemy-vertica-python vertica+vertica_python://
ClickHouse pip install sqlalchemy-clickhouse clickhouse://

  使用pip安裝好數據庫後,就能夠在Web界面中,配置相關數據源了。

  數據庫的鏈接字符串格式參見:

  http://docs.sqlalchemy.org/en/rel_1_0/core/engines.html#database-urls

 

好了,最後貼一張我測試SqlServer的示例圖。 使用的是 SuperKM 的測試知識分類數據。

另外,superset目前只支持單表的顯示。

相關文章
相關標籤/搜索