快速入门
Apache Superset 是一个开源的数据探查与可视化平台(曾用名 Panoramix、Caravel ),该工具在可视化、易用性和交互性上非常有特色,用户可以轻松对数据进行可视化分析。Superset 也是一款企业级商业智能 Web 应用程序。
部署 Websoft9 提供的 Superset 之后,请参考下面的步骤快速入门。
准备
- 在云控制台获取您的 服务器公网 IP 地址
- 在云控制台安全组中,检查 Inbound(入)规则 下的 TCP:80 是否开启
- 在服务器中查看 Superset 的 默认账号和密码
- 若想用域名访问 Superset,务必先完成**域名五步设置** 过程
Superset 初始化向导
详细步骤
-
使用本地电脑浏览器访问网址: http://域名 或 http://服务器公网 IP, 进入登录页面
-
输入账号密码(不知道账号密码?),成功登录到 Superset 后台
-
修改密码:【Superset Admin】>【Profiles】>【Reset my Password】
-
修改语言:通过右上角国旗图标设置你所需的语言
出现问题?
若碰到问题,请第一时刻联系 技术支持。也可以先参考下面列出的问题定位或 FAQ 尝试快速解决问题:
Superset 密码正确,但仍然登录失败?
参阅:此处
Superset 使用入门
下面以连接 Superset 从 MySQL 数据源中获取数据进行分析作为范例:
-
登录后,依次打开:【Data】>【Databases】
-
点击右上角【数据库】,输入要连接的数据地址、端口、库名以及驱动(参考)
-
点击【确认】,追加的数据库显示在列表中
-
依次打开菜单栏:【Data】>【Datesets】
-
点击追加 Datasets,依次选择库、SCHEMA、Table,点击追加
-
新追加的表已经显示在 Datasets 一览了
需要了解更多 Superset 的使用,请参考官方文档:Superset documentation
Superset 常用操作
安装数据库驱动
Superset 支持数十种数据库,但 Superset Docker 镜像默认并没有安装数据库的驱动(连接程序)。
因此,需要用户进入到容器后手动安装,具体如下:
# 进入 Superset 容器,以 root 身份运行命令
sudo docker exec -it --user root superset-app bash
# 范例:安装 MySQL 驱动
pip install mysqlclient
# 范例:安装 PostgreSQL 驱动
pip install psycopg2
更多驱动参考官方Database dependencies
连接数据库
以 SQL Server 为例:
# 进入 Superset 容器,以 root 身份运行命令
sudo docker exec -it -u root superset-app bash
# 安装 MSSQL 驱动
pip install pymssql
# 在 SuperSet 中连接 SQLServer Database
# E.g mssql+pymssql://sa:passwd123@192.168.16.1:1433/test
mssql+pymssql://username:password@server ip:port/database
更换 Logo
如果打算用自己的 Logo 更换 Superset 容器中默认的 Logo,具体的步骤如下:
-
使用 SFTP 上传你的 Logo 到服务器 /data 目录下
-
将 Logo 更名为 superset-logo-horiz
-
运行下面的命令,更换 Superset 官方默认 Logo
docker cp /data/superset-logo-horiz.png superset-app:/app/superset/static/assets/images/superset-logo-horiz.png
superset-app 为 SuperSet 容器名称。
-
刷新 Superset 后台页面,查看更换效果
配置 SMTP
Superset 配置 SMTP 发邮件的步骤:
-
在邮箱管理控制台获取 SMTP 相关参数
-
修改Superset 配置文件,增加如下的 SMTP 配置段,设置好自己的参数。
# smtp server configuration
EMAIL_NOTIFICATIONS = True # all the emails are sent using dryrun
SMTP_HOST = 'smtp.163.com'
SMTP_STARTTLS = True
SMTP_SSL = True
SMTP_USER = 'websoft9@163.com'
SMTP_PORT = 465
SMTP_PASSWORD = '#wwBJ8'
SMTP_MAIL_FROM = 'websoft9@163.com' -
重启 Superset 容器后生效
sudo docker restart superset-app
重置密码
常用的 Superset 重置密码相关的操作主要有修改密码和找回密码两种类型:
修改密码
登录 Superset 后台,修改密码:【Settings】>【User】>【Info】
找回密码
如果用户忘记了密码,需要通过修改数据库中的数据表的方式找回:
-
使用 SSH连接服务器,运行如下命令连接数据库
docker exec -it superset_db psql -U superset
-
在数据库命令模式下,运行如下的 SQL 语句后,用户 admin 的密码就被设置为
admin123
。update ab_user set password='pbkdf2:sha256:150000$w8vfDHis$b9c8fa353137417946766ed87cf20510da7e1e3a7b79eef37426330abef552bf' where username='admin';
Superset 参数
Superset 应用中包含 Nginx, Docker, PostgreSQL, pgAdmin, Redis 等组件,可通过 通用参数表 查看路径、服务、端口等参数。
通过运行docker ps
,可以查看到 Superset 运行时所有的 Container:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
453f04935734 apache/superset:latest "/usr/bin/docker-ent…" About a minute ago Up About a minute (healthy) 0.0.0.0:8088->8088/tcp superset_app
5477e7693ef3 apache/superset:latest "/usr/bin/docker-ent…" About a minute ago Up About a minute (healthy) 8088/tcp superset_worker
d6670fa1bc11 apache/superset:latest "/usr/bin/docker-ent…" About a minute ago Up About a minute (healthy) 8088/tcp superset_worker_beat
17689f5d6ebb postgres:10 "docker-entrypoint.s…" About a minute ago Up About a minute 0.0.0.0:5432->5432/tcp superset_db
06bf52f4b856 redis:3.2 "docker-entrypoint.s…" About a minute ago Up About a minute 127.0.0.1:6379->6379/tcp superset_cache
下面仅列出 Superset 本身的参数:
路径
Superset 源码目录: /data/apps/superset
Superset 数据目录: /data/apps/superset/data/superset_home
Superset 配置目录: /data/apps/superset/src/docker
Superset 配置文件: /data/apps/superset/src/docker/pythonpath_dev/superset_config.py
端口
无特殊端口
版本
# Superset Version
docker exec -it superset_app /bin/bash -c 'cat /app/superset-frontend/package.json |grep version'
服务
sudo docker start | stop | restart | status superset-app
sudo docker start | stop | restart | status superset-worker
sudo docker start | stop | restart | status superset-worker_beat
sudo docker start | stop | restart | status superset-db
sudo docker start | stop | restart | status superset-cache
命令行
Superset 提供了强大的的命令行工具 superset
使用 SSH 登录到云服务器,登录到容器后即可使用 CLI
# 登录到 Superset 容器
docker exec -it superset-app bash
# 运行 CLI 命令
superset
主要参数如下:
Usage: superset [OPTIONS] COMMAND [ARGS]...
This is a management script for the Superset application.
Options:
--version Show the flask version
--help Show this message and exit.
Commands:
db Perform database migrations.
export-dashboards Export dashboards to JSON
export-datasource-schema Export datasource YAML schema to stdout
export-datasources Export datasources to YAML
fab FAB flask group commands
flower Runs a Celery Flower web server Celery Flower
is...
import-dashboards Import dashboards from JSON
import-datasources Import datasources from YAML
init Inits the Superset application
load-examples Loads a set of Slices and Dashboards and a...
load-test-users Loads admin, alpha, and gamma user for testing...
refresh-druid Refresh druid datasources
routes Show the routes for the app.
run Run a development server.
set-database-uri Updates a database connection URI
shell Run a shell in the app context.
sync-tags Rebuilds special tags (owner, type, favorited...
update-datasources-cache Refresh sqllab datasources cache
version Prints the current version number
worker Starts a Superset worker for async SQL query...
API
Superset API 采用 REST API 2.0 规范。