1-0 superset的安裝和配置



Superset安裝及教程官網(http://airbnb.io/superset/installation.html)講解的已經夠詳細的了,本篇以官網教程為藍本進行說明。

入門

Superset目前使用Python 2.7和Python 3.4+進行測試。 推薦Python 3,不支持Python 2.6。

系統依賴

Superset為了安全考慮,在其元數據數據庫中存儲數據庫連接信息。為了這個目的,他們使用了cryptography庫來加密連接密碼,但是這個庫有操作體統級別的依賴。如果你在進行安裝和初始化時碰到了錯誤,就需要在OS上安裝這些依賴:

對於Debian和Ubuntu,以下命令將確保安裝所需的依賴關系:

sudo apt-get install build-essential libssl-dev libffi-dev python-dev python-pip libsasl2-dev libldap2-dev

對於Fedora和RHEL衍生產品,以下命令將確保安裝所需的依賴關系:

sudo yum upgrade python-setuptools
sudo yum install gcc libffi-devel python-devel python-pip python-wheel openssl-devel libsasl2-devel openldap-devel

OSX,不推薦使用系統python。 brew的python也有pip:

brew install pkg-config libffi openssl python
env LDFLAGS="-L$(brew --prefix openssl)/lib" CFLAGS="-I$(brew --prefix openssl)/include" pip install cryptography

Windows在這一點上沒有正式支持,但如果你想嘗試它,下載get-pip.py,並運行python get-pip.py可能需要管理員訪問。 然后運行以下命令:

C:\> pip install cryptography

# You may also have to create C:\Temp
C:\> md C:\Temp

Python Virtualenv、setup tools、pip

建議在virtualenv中安裝Superset。 Python 3已經提供了virtualenv,對於Python 2你需要安裝它。使用pip來安裝:

pip install virtualenv

您可以通過以下方式創建和激活virtualenv:

# virtualenv is shipped in Python 3 as pyvenv
virtualenv venv
. ./venv/bin/activate

在Windows上,激活它的語法有點不同:

venv\Scripts\activate

一旦你激活你的virtualenv你所做的一切都只限於virtualenv。 要退出virtualenv只需鍵入deactivate。

盡可能的更新到最新版本的setuptools和pip

pip install --upgrade setuptools pip

Superset的安裝和初始化

按照以下幾個簡單的步驟安裝Superset:

# 安裝superset
pip install superset

# 創建管理員用戶
fabmanager create-admin --app superset

創建的表如下:8

 

# 初始化數據庫
superset db upgrade

創建的表如下:21

# 加載樣例數據
superset load_examples

創建的表如下:6

# 創建默認角色和權限
superset init

# 在8088端口啟動服務
superset runserver -p 8088

# 使用-d(開發模式)來啟動服務
# superset runserver -d

安裝后,您應該能夠將瀏覽器指向正確的主機名:port http:// localhost:8088,使用您在創建管理員帳戶時輸入的憑據登錄,然后Menu -> Admin -> Refresh Metadata。這個動作刷新你的所有數據源,數據源顯示在Menu -> Datasources,從那里你可以開始使用你的數據!

Superset使用gunicorn來跑web server,不支持windows。

四、Load Balancer配置

如果您在負載平衡器或逆向代理(例如AWS上的NGINX或ELB)后運行Superset,您可能需要使用運行狀況檢查端點,以便負載均衡器知道您的Superset實例是否正在運行。這在/health提供,如果web服務器正在運行,將返回包含“OK”的200響應。

如果負載均衡器插入X-Forwarded-For / X-Forwarded-Proto頭,則應在超集配置文件中設置ENABLE_PROXY_FIX = True以提取和使用頭。

五、Superset配置

要配置應用程序,您需要創建一個文件(模塊)superset_config.py並確保它在您的PYTHONPATH中。 以下是可以在該文件中配置的一些參數:

#---------------------------------------------------------
# Superset specific config
#---------------------------------------------------------
ROW_LIMIT = 5000
SUPERSET_WORKERS = 4

SUPERSET_WEBSERVER_PORT = 8088
#---------------------------------------------------------

#---------------------------------------------------------
# Flask App Builder configuration
#---------------------------------------------------------
# Your App secret key
SECRET_KEY = '\2\1thisismyscretkey\1\2\e\y\y\h'

# The SQLAlchemy connection string to your database backend
# This connection defines the path to the database that stores your
# superset metadata (slices, connections, tables, dashboards, ...).
# Note that the connection information to connect to the datasources
# you want to explore are managed directly in the web UI
SQLALCHEMY_DATABASE_URI = 'sqlite:////path/to/superset.db'

# Flask-WTF flag for CSRF
CSRF_ENABLED = True

# Set this API key to enable Mapbox visualizations
MAPBOX_API_KEY = ''

此文件還允許您定義Flask App Builder(Superset使用的Web框架)使用的配置參數。 有關如何配置Superset的更多信息,請參閱Flask App Builder文檔。

請確保以下配置:

SQLALCHEMY_DATABASE_URI,默認情況下存儲在~/.superset/superset.db

SECRET_KEY,一個長的隨機字符串

六、數據庫依賴的安裝和配置

Superset不附帶與數據庫的連接,除了Sqlite,它是Python標准庫的一部分。 您需要為要用作元數據數據庫的數據庫安裝所需的軟件包,以及連接到要通過Superset訪問的數據庫所需的軟件包。

這里有一些推薦的軟件包列表。

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 redshift+psycopg2://
MSSQL pip install pymssql mssql://
Impala pip install impyla impala://
SparkSQL pip install pyhive jdbc+hive://
Greenplum pip install psycopg2 postgresql+psycopg2://

注意,許多其他數據庫都支持,主要標准是存在一個功能的SqlAlchemy方言和Python驅動程序。 除了描述要連接的數據庫的關鍵字之外,搜索關鍵字sqlalchemy應該能夠將您帶到正確的位置。

七、配置緩存

Superset使用Flask-Cache進行緩存。 配置緩存后端與在superset_config.py中提供符合Flask-Cache規范的CACHE_CONFIG常量一樣簡單。

Flask-Cache支持多個緩存后端(Redis,Memcached,SimpleCache(內存中)或本地文件系統)。 如果你要使用Memcached請使用pylibmc客戶端庫,因為python-memcached不能正確處理存儲二進制數據。 如果你使用Redis,請安裝[python-redis](https://pypi.python.org/pypi/redis)。

對於設置超時,這是在Superset元數據中完成的,並從“切片配置”到數據源的配置,到數據庫的“timeosearchpath”,並最終落回在CACHE_CONFIG中定義的全局默認值。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM