项目简介
本文是关于安装和配置超级酷和令人钦佩的 d3 图表呈现从您的数据库直接开箱, 而不需要任何特殊的 api。这些工具叫superset , 来自空中客车公司的团队。
本文有两个部分。一个解释了安装的 docker 方法, 另一个是关于使用 python 在本地计算机上安装 superset。
以下是这两个部分需要执行的常见操作项。
使用 docker
确保以下设置已就位。
获取最新代码:
git clone https://github.com/apache/incubator-superset/
移动到无法执行的 “无法执行” 文件, 并运行以下命令:
docker-compose up
如果您发现以下错误
ERROR: Get https://registry-1.docker.io/v2/: Proxy Authentication Required
那就该设置代理了选择 “手动代理配置”, 然后输入组织的代理设置。通常情况下, 它应该是 http:/用户: 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 。
- 安装酿造:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- 编辑您的 bash _ 个人资料。
vi ~/.bash_profile
- 将旧版本的巨蟒指向新版本。在 bash _ 配置文件中添加以下行
alias pip='pip3'alias python='python3'
- 让我们确保 python
setuptools
和 pip 是最新的, 这让 python 了解其模块定义。
$ pip install --upgrade setuptools pip
- 查看当前模块定义, 以便进行比较。
$ pip freeze > req.txt$ cat req.txt
- 如果要重新开始, 请卸载现有库, 以避免不匹配。
pip uninstall -r req.txt -y
- 安装最新版本的 superset/3. 如果您在代理后面, 请打开安装中最难的部分中列出的代理。
$ pip install superset==0.29.0rc7
- 上述命令将导致安装低于收集的 python 包。
Installing collected packages: 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,
tabulator, isodate, rfc3986, tableschema, pydruid, sqlparse, pyhive, billiard,
vine, amqp, kombu, celery, asn1crypto, pycparser, cffi, cryptography, s3transfer,
boto3, tornado, flower, supersetSuccessfully installed Flask-Babel-0
2闪光灯-登录-0.4.1 闪光灯-1.2.5 闪光灯——————————————————————————————————————-ms-2.2.1 werkzeug-0.14.1 alembicic-amqp-2.3.2 asn1capto-0.24.0 babler-bapl-bapl-2.6.0 3.5.0.5 3.1。0botocore-1.7.48 chchardede-2.1.4 cely-ene-clene-fetle-2018.11.29 cffie-1.11.5 charte-6.7 coloram-6.7 coloram-6.7 加密-3.0.4 拆除 xml-0.4.1 coasfil-contextlib2-0.5.5 flasfils-2.4.2 flask-applinma-fi-0.5。0flask-caching-flask-caching-flask-f火石-2.3.1 flask-wtf-0.14.2 花-0.9.2 未来-0.17.1 地理学-1.49 地理-1.18.1 枪-19.9.0 人道主义-0.5.1 idna-2.8 ijson-2.3 等地-0.6.0 危险的-1.1.0 jdcal-1。4
jmespath-ar-0.9.3 jsonlines-1.2.0 jsonunts-5 kombu-4.2.2.post1 line-tsv-1.1.0 标记-3.0.1 1.15.4。2.7.5 的 python-dateapeape-python-geohash-0.8.5 python3-openid-3.1.0 pytz-2018.88.9 pyyamll—3.13 请求-2.21.0 rfc3986-1.2.0 s3transfer-0.1.13 s3transfer-0.2.1 simplejson-3.16.0 1.12.0 1.2.15 sqlalchime-sqlchemy-利用—-0.33.10sqlsee-0.2.4 表化学—————————————————————————————————————————————————————————————————
您可能已经注意到 ui 库 (如 babel 和 webpack) 已安装。
- 创建用户。记住您的用户名和密码。我们稍后将使用它们登录到应用程序。
$ fabmanager create-admin --app superset
Username [admin]: gopiUser
first name [admin]: gopiUser
last name [user]: gopi
Email [admin@fab.org]: gopi@allibilli.com
Password: gopi
Repeat for confirmation: gopi
Recognized Database Authentications.
Admin User gopi created.
如果要删除所有用户, 请从以下目录中删除 db 文件:
/Users/<USER>/.superset
- 初始化数据库:
$ superset db upgrade
......INFO [alembic.runtime.migration] Running upgrade 46ba6aaaac97,
ec1f88a35cc6 -> c18bd4186f15, empty message
INFO [alembic.runtime.migration] Running upgrade c18bd4186f15 -> 7fcdcde0761c, Reduce position_json size by remove extra space and component id prefix
INFO [alembic.runtime.migration] Running upgrade 7fcdcde0761c -> 0c5070e96b57, \add user attributes table
INFO [alembic.runtime.migration] Running upgrade 0c5070e96b57 -> 1a1d627ebd8e, position_json
INFO [alembic.runtime.migration] Running upgrade 1a1d627ebd8e -> 55e910a74826, add_metadata_column_to_annotation_model.py
- 加载示例数据集:
$ superset load_examples
......Creating the dashboardLoading DECK.gl demoLoading deck.gl dashboardCreating Scatterplot slice
Creating Screen Grid slice
Creating Hex slice
Creating Grid slice
Creating Polygon slice
Creating Arc slice
Creating Path slice
Creating a dashboard
- 创建默认角色和权限
$ superset init
2019-01-09 15:05:44,825:INFO:root:Creating database reference
2019-01-09 15:05:44,832:INFO:root:Syncing role definition
2019-01-09 15:05:44,863:INFO:root:Syncing Admin perms
2019-01-09 15:05:44,927:INFO:root:Syncing Alpha perms
2019-01-09 15:05:45,144:INFO:root:Syncing Gamma perms
2019-01-09 15:05:45,361:INFO:root:Syncing granter perms
2019-01-09 15:05:45,592:INFO:root:Syncing sql_lab perms
2019-01-09 15:05:45,804:INFO:root:Fetching a set of all perms to lookup which ones are missing
2019-01-09 15:05:45,854:INFO:root:Creating missing datasource permissions
2019-01-09 15:05:45, 872: info:infoo: 创建缺少的指标权限 2019-01-09 15:45, 888: info:inot:oot:11: 清洁有故障的烫发
- 使用 gunicorn 启动超级集。确保任何其他应用程序都不使用端口 8125, 或使用下面命令中列出的您自己的端口。
$ gunicorn -b 0.0.0.0:8125 superset:app
- 打开浏览器并键入: http://localhost:8125.
棒!现在, 您可以看到下面列出的仪表板。
点击其中一个示例 “世界银行的数据”, 查看其数据可视化。