一.簡述
Apache
Superset是一款由Airbnb開源的“現(xiàn)代化的企業(yè)級BI(商業(yè)智能)的Web應(yīng)用程序”,其通過創(chuàng)建和分享Dashboard,為數(shù)據(jù)分析提供了輕量級的數(shù)據(jù)查詢和可視化方案。
Apache Superset的前端主要使用Reat和NVD3/D3,后端則基于Python的Flask框架和Pandas、SQLAichemy等第三方依賴庫
二.功能
Ⅰ).集成數(shù)據(jù)查詢
Superset支持多種數(shù)據(jù)庫,包括MySQL、PostgresSQL、Oracle、SQLServer、SQLite、Impala、Hive、ClickHouse等,并深度支持Apache
Druid
Ⅱ).細顆粒安全模式
可以在功能層面和數(shù)據(jù)層面進行訪問控制。支持多種鑒權(quán)方式(例如數(shù)據(jù)庫、OpenID、LDAP、OAuth、REMOTE_USER等)
Ⅲ).可視化圖庫
通過NVD3/D3預(yù)定義了多種可視化圖表庫,滿足大部分的數(shù)據(jù)展示功能;另外,也支持嵌入其他的JavaScirpt圖標(biāo)庫(例如HighCharts、ECharts),或二次開發(fā)
三.權(quán)限
Superset的安全行由Flask
AppBuilder(FAB)處理。FAB是一個“簡單快速的應(yīng)用程序開發(fā)框架,構(gòu)建在Flask之上”。FAB提供了身份驗證、用戶管理、權(quán)限和角色。默認(rèn)角色如下:
Ⅰ).Admin
管理員擁有所有的權(quán)限,包括授予或撤銷其他用戶的權(quán)限,以及修改其他用戶的charts和dashboard
Ⅱ).Alpha
Alpha可以訪問所以數(shù)據(jù)源,但無法授予或撤銷其他用戶的權(quán)限。Alpha用戶可以添加和修改數(shù)據(jù)源
Ⅲ).Gamma
Gamma具有訪問權(quán)限。Gamma只能使用訪問查看Gamma用戶自己可訪問的數(shù)據(jù)源制作的charts和dashboard。目前,Gamma用戶無法添加和修改數(shù)據(jù)源
Ⅳ).Sql_lab
被授予對SQL Lab的訪問權(quán)限
Ⅴ).Public
可通過在superset/config.py設(shè)置PUBLIC_ROLE_LIKE_GAMMA=True,授予該角色與Gamma角色相同的權(quán)限集
Ⅵ).自定義角色
使用著可以根據(jù)自己的需求自定義角色權(quán)限
四.依賴
五.使用
Ⅰ).配置Druid數(shù)據(jù)源
a).選擇Sources,下拉菜單選擇Druid Clusters
b).點擊添加
c).編輯信息
d).刷新數(shù)據(jù)源
Ⅱ).配置其他數(shù)據(jù)源
以ClickHouse為例
安裝依賴:pip install sqlalchmy_clickhouse
a).點擊添加
b).編輯配置
c).測試連接
d).連接成功,展示tables
e).添加成功
六.修改元數(shù)據(jù)庫
默認(rèn)元數(shù)據(jù)庫是SQLite,實際生產(chǎn)環(huán)境中可能需要更可靠的數(shù)據(jù)庫(如MySQL、Oracle)來存儲管理元數(shù)據(jù),下面以MySQL替換SQLite為例
Ⅰ).安裝依賴
pip install mysqlclient
Ⅱ).修改配置
a).路徑
./lib/python2.7/site-packages/superset
b).備份
cp config.py config.py_date_time_user.bak
c).編輯
vi config.py #
SQLALCHEMY_DATABASE_URL='sqlite://'+os.path.join(DATA_DIR,'superset.db')
SQLALCHEMY_DATABASE_URL='mysql://db_user:password@db_hostname/superset'
d).初始化
fabmanager create-admin --app superset
e).更新數(shù)據(jù)庫數(shù)據(jù)
superset db upgrade
f).初始化角色
superset init
熱門工具 換一換