项目简介
本文是关于安装和配置直接从数据库中直接呈现的超酷和令人钦佩的D3图表,而无需任何特殊的API。这些工具名为 SuperSet,它来自Airbnb的团队。
本文分为两部分。一个解释了Docker的安装方法,另一个解释了使用Python在本地机器上安装SuperSet。
以下是两个部分需要完成的常见操作项。
使用Docker
确保以下设置到位。
获取最新代码:
git clone https://github.com/apache/inc...
移至incubator-superset / contrib / docker文件并运行以下命令:
码头工人组成
如果您发现以下错误
错误:获取https://registry-1.docker.io/v2/:需要代理身份验证
那么是时候设置你的代理了。选择手动代理配置并输入您组织的代理设置。通常,它应该是http:// USER:PASSWORD@PROXY.ABC.COM:PORT /
运行以下列表命令将使SuperSet启动并运行:
$ docker -compose up -d $ docker -compose exec superset bash $ bash docker-init.sh
请注意,如果无法从Docker映像下载依赖项,则防火墙或代理设置会阻止它们。
使用Python安装
您必须 在计算机上安装Python 3和pip 3。
安装Brew:
/ usr / bin / ruby -e “ $(curl -fsSL https://raw.githubusercontent...)”
编辑你的bash_profile。
vi ~ / .bash_profile
将旧版本的python指向new。将以下行添加到bash_profile中
别名PIP = 'PIP3'别名蟒= 'python3'
让我们确保Python setuptools 和pip是最新的,这让Python知道它的模块定义。
$点子安装--upgrade setuptools的PIP
查看当前模块定义以进行比较。
$ pip freeze> req.txt $ cat req.txt
如果您想重新开始,请卸载现有库以避免不匹配。
pip uninstall -r req.txt -y
安装最新版本的SuperSet /如果您在代理后面,请打开安装中最难部分中列出的代理。
$ pip install superset = = 0 .29.0rc7
上面的命令将导致安装以下收集的Python包。
安装收集的软件包:sqlalchemy,geographiclib,geopy,click,
MarkupSafe,Jinja2,itsdangerous,Werkzeug,flask,six,python-dateutil,
colorama,WTForms,flask-wtf,defusedxml,python3-openid,Flask-OpenID,
Flask-SQLAlchemy,Flask-Login,pytz,babel,Flask-Babel,flask-appbuilder,
markdown,pyyaml,humanize,flask-compress,unicodecsv,flask-caching,thrift,
sasl,thrift-sasl,polyline,numpy,pandas,pathlib2,gunicorn,sqlalchemy-utils,
simplejson,python-editor,Mako,alembic,flask-migrate,future,parsedatetime,
jmespath,docutils,botocore,unidecode,contextlib2,python-geohash,
webencodings,bleach,idna,chardet,urllib3,certifi,requests,jsonschema,
et-xmlfile,jdcal,openpyxl,jsonlines,linear-tsv,xlrd,ijson,cchardet,
制表者,isodate,rfc3986,tableschema,pydruid,sqlparse,pyhive,billiard,
vine,amqp,kombu,celery,asn1crypto,pycparser,cffi,cryptography,s3transfer,
boto3,龙卷风,花,超集成功安装了Flask-Babel-0.12.2
Flask-Login-0.4.1 Flask-OpenID-1.2.5 Flask-SQLAlchemy-2.3.2 Jinja2-2.10
Mako-1.0.7 MarkupSafe-1.1.0 WTForms-2.2.1 Werkzeug-0.14.1 alembic-1.0.5
amqp-2.3.2 asn1crypto-0.24.0 babel-2.6.0 billiard-3.5.0.5 bleach-3.1.0
boto3-1.9.75 botocore-1.7.48 cchardet-2.1.4 celery-4.2.1 certifi-2018.11.29
cffi-1.11.5 chardet-3.0.4 click-6.7 colorama-0.4.1 contextlib2-0.5.5
cryptography-2.4.2 defusedxml-0.5.0 docutils-0.14 et-xmlfile-1.0.1 flask-1.0.2
flask-appbuilder-1.12.2 flask-caching-1.4.0 flask-compress-1.4.0
flask-migrate-2.3.1 flask-wtf-0.14.2 flower-0.9.2 future-0.17.1
geographiclib-1.49 geopy-1.18.1 gunicorn-19.9.0 humanize-0.5.1
idna-2.8 ijson-2.3 isodate-0.6.0 itsdangerous-1.1.0 jdcal-1.4
jmespath-0.9.3 jsonlines-1.2.0 jsonschema-2.6.0 kombu-4.2.2.post1
linear-tsv-1.1.0 markdown-3.0.1 numpy-1.15.4 openpyxl-2.4.11 pandas-0.23.4
parsedatetime-2.4 pathlib2-2.3.3 polyline-1.3.2 pycparser-2.19 pydruid-0.5.0
pyhive-0.6.1 python-dateutil-2.7.5 python-editor-1.0.3 python-geohash-0.8.5
python3-openid-3.1.0 pytz-2018.9 pyyaml-3.13 requests-2.21.0 rfc3986-1.2.0
s3transfer-0.1.13 sasl-0.2.1 simplejson-3.16.0 six-1.12.0 sqlalchemy-1.2.15
sqlalchemy-utils-0.33.10 sqlparse-0.2.4 superset-0.29.0rc7 tableschema-1.3.0
tabulator-1.19.0 thrift-0.11.0 thrift-sasl-0.3.0 tornado-5.1.1
unicodecsv-0.14.1 unidecode-1.0.23 urllib3-1.24.1 vine-1.2.0
webencodings-0.5.1 xlrd-1.2.0
您可能已经注意到,也安装了像Babel和Webpack这样的UI库。
创建用户。记住您的用户名和密码。我们稍后将使用这些登录到应用程序。
$ fabmanager create-admin --app superset
用户名[admin]:gopiUser
名字[admin]:gopiUser
姓氏[user]:gopi
电子邮件[admin@fab.org]:gopi@allibilli.com
密码:gopi
重复确认:gopi
认可的数据库认证。
管理员用户gopi已创建。
如果要删除所有用户,请从以下目录中删除db文件:
/Users/<USER>/.superset
初始化数据库:
$ superset db升级
...... INFO [ alembic。运行时。迁移 ] 运行 升级 46 ba6aaaac97,
ec1f88a35cc6 - > c18bd4186f15,空 消息
信息 [ alembic。运行时。迁移 ] 运行 升级 c18bd4186f15 - > 7f cdcde0761c,通过删除额外的空间和组件ID 前缀来减少 position_json 大小
信息 [ alembic。运行时。迁移 ] 运行 升级 7f cdcde0761c - > 0 c5070e96b57,添加 用户 属性 表
信息 [ alembic。运行时。迁移 ] 运行 升级 0 c5070e96b57 - > 1 a1d627ebd8e,position_json
信息 [ alembic。运行时。迁移 ] 运行 升级 1 a1d627ebd8e - > 55e910 a74826,add_metadata_column_to_annotation_model。PY
加载示例数据集:
$ superset load_examples
......创建仪表板加载DECK.gl demoLoading deck.gl仪表板创建散点图切片
创建屏幕网格切片
创建六角形切片
创建网格切片
创建多边形切片
创建弧切片
创建路径切片
创建仪表板
创建默认角色和权限
$ superset init
2019-01-09 15:05:44,825:INFO:root:创建数据库引用
2019-01-09 15:05:44,832:INFO:root:同步角色定义
2019-01-09 15:05:44,863:INFO:root:同步管理员权限
2019-01-09 15:05:44,927:INFO:root:同步Alpha烫发
2019-01-09 15:05:45,144:INFO:root:同步Gamma perms
2019-01-09 15:05:45,361:INFO:root:同步更好的烫发
2019-01-09 15:05:45,592:INFO:root:同步sql_lab perms
2019-01-09 15:05:45,804:INFO:root:获取一组所有权限以查找哪些权限丢失
2019-01-09 15:05:45,854:INFO:root:创建缺少的数据源权限。
2019-01-09 15:05:45,860:INFO:root:创建缺少的数据库权限。
2019-01-09 15:05:45,872:INFO:root:创建缺少的度量标准权限
2019-01-09 15:05:45,888:INFO:root:清理错误的烫发
使用Gunicorn启动SuperSet。确保端口8125未被任何其他应用程序使用或使用您自己的端口,如以下命令中所列。
$ gunicorn -b 0 .0.0.0:8125 superset:app