標籤:漢化 chinese 開源 presto style color ++ bottom ora
Superset是由Airbnb(知名線上房屋短租公司)開源BI資料分析與可視化平台(曾用名Caravel、Panoramix),該工具主要特點是可自助分析、自訂儀錶盤、分析結果可視化(匯出)、使用者/角色許可權控制,還整合了一個SQL編輯器,可以進行SQL編輯查詢等,原來是用於支援Druid的可視化分析,後面發展為支援很多種關聯式資料庫及大資料計算架構,如:mysql, oracle, Postgres,Presto,sqlite, Redshift,Impala, SparkSQL, Greenplum, MSSQL.
Superset官網地址為:
http://superset.apache.org/index.html
官網說明對Windows系統當前沒有官方支援,不過實際上是可以安裝成功的。
筆者安裝環境為windows 10 64位企業版。
安裝步驟:
1. 安裝Python。 建議安裝Python 3.4 以上版本。Python 2.7 版本在windows 上存在各種編碼問題。
https://www.python.org/downloads/release/python-350/
下載Windows x86-64 executable installer 。直接使用exe的安裝包即可,安裝過程中選中增加到環境變數。
檢查:CMD下 分別運行python -V 和 pip-V。如果找不到命令,則需要添加python的安裝目錄到path環境變數下。
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 pythoncd pythonmd myprojectcd myproject
然後啟用
cd d:\python\myprojectvirtualenv 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 translationscd translationsmd zhcd zhmd 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目前只支援單表的顯示。
【原創】Superset在windows下的安裝配置