1小时搭建可视化数据分析平台redash
BI这块选择其实挺多,比如Tableau,PowerBI,Superset,Metabase以及今天介绍的redash。Tableau比较贵,使用起来都是拖拽式,对于一个数据分析人员,写SQL是很多的,所以可以考虑superset vs. Metabase vs. redash,superset之前自己也搭建用过,Airbnb出品,美观,但是好像不太会用,Metabase没用过,PowerBI之前也了解过没深入研究,上一家公司使用的是redash,体验还不错,同时现在工作上也有一些限制,不能直接连接大数据平台,所以考虑在本地搭建一个简易的数据分析平台,便于做一些简单的分析和监控报表,实现方案是:Windows 10+Docker+Redash+Python。Python每天自动爬数据插入postgresql数据库,redash写好sql代码生成报表。
我认为这种方案会比大家直接安装一个mysql数据库在本地或者用Tableau/PowerBI在那里点点点半天会好一些。
安装步骤
# 先安装docker
网上下载一个Docker for windows或者for mac,最新版本还是很好用的,前几年的版本挺难用。
配置国内镜像:百度搜一下就有了
{
"debug": true,
"registry-mirrors": [
"https://registry.docker-cn.com"
],
"experimental": true
}
# 从GitHub下载源码[没有git的也可以打开github点击下载然后解压]
git clone https://github.com/getredash/redash.git
# 打开cmd/Termina进入redash目录
cd redash
# 创建docker-compose.production.yml文件,内容参考yml配置。
# 上面git下载的里面也有一个docker-compose.yml文件,这是开发用的,要换。
# 可以不用touch,直接新建一个就好了
touch docker-compose.production.yml
#创建db,没报错就是安装好了
docker-compose -f docker-compose.production.yml run --rm server create_db
#redash运行,这里面也会安装一些东西
docker-compose -f docker-compose.production.yml up
#redash运行后台运行
docker-compose -f docker-compose.production.yml up -d
docker-compose.production.yml文件内容
这个配置REDASH_ADDITIONAL_QUERY_RUNNERS:"redash.query_runner.python"可以用来运行Python,但是是python2,不知道咋改为python3。至于这些参数为啥这样配置我也不懂,能run就行。建议image版本不要选择最新的,下载慢还安装不成功…
# This is an example configuration for Docker Compose. Make sure to atleast update
# the cookie secret & postgres database password.
#
# Some other recommendations:
# 1. To persist Postgres data, assign it a volume host location.
# 2. Split the worker service to adhoc workers and scheduled queries workers.
version: '2'
services:
server:
image: redash/redash:8.0.2.b37747
command: server
depends_on:
- postgres
- redis
ports:
- "5000:5000"
environment:
PYTHONUNBUFFERED: 0
REDASH_LOG_LEVEL: "INFO"
REDASH_REDIS_URL: "redis://redis:6379/0"
REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres"
REDASH_COOKIE_SECRET: "suibianxieyige"
REDASH_WEB_WORKERS: 4
#邮箱
REDASH_MAIL_SERVER: "smtp.exmail.qq.com"
REDASH_MAIL_PORT: 465
REDASH_MAIL_USE_TLS: "true"
REDASH_MAIL_USE_SSL: "true"
REDASH_MAIL_USERNAME: "xxx@xx.com"
REDASH_MAIL_PASSWORD: "xxx"
REDASH_MAIL_DEFAULT_SENDER: "xxx@xx.com"
REDASH_HOST: "http://192.168.3.110:80"
REDASH_ADDITIONAL_QUERY_RUNNERS: "redash.query_runner.python"
restart: always
worker:
image: redash/redash:8.0.2.b37747
command: scheduler
environment:
PYTHONUNBUFFERED: 0
REDASH_LOG_LEVEL: "INFO"
REDASH_REDIS_URL: "redis://redis:6379/0"
REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres"
REDASH_COOKIE_SECRET: "xxx"
REDASH_ADDITIONAL_QUERY_RUNNERS: "redash.query_runner.python"
QUEUES: "queries,scheduled_queries,celery"
WORKERS_COUNT: 2
restart: always
redis:
image: redis:3.0-alpine
ports:
- "6379:6379"
volumes:
- ./data/redis_data:/data
restart: always
postgres:
image: postgres:9.5.6-alpine
ports:
- "5432:5432"
volumes:
- ./data/postgresql_data:/var/lib/postgresql/data
restart: always
nginx:
image: redash/nginx:latest
ports:
- "80:80"
volumes:
- ./data/nginx:/etc/nginx
#depends_on:
# - server
links:
- server:redash
restart: always
如果安装没问题,打开浏览器,输入http://0.0.0.0:5000/就可以访问了,如下
刚进来是没有数据源的,需要添加数据源。可以添加的数据源种类很多,我们添加一个默认的数据库postgresql,数据库名称和host啥的在yaml配置文件里面postgresql://postgres@postgres/postgres。
新建一个查询,写一句sql,就可以在本地run一个分析平台了
Dashboard【伪造数据】
图表是基于plotly的,这个库有python版本,绘图功能很强。
每个图表的查询可以设置更新时间,所以这个功能就很好了,比如你每天早上要看报表,就设置每天早上8点更新,9点打开电脑就是最新数据了。所以这时候就要涉及到数据怎么来的问题。
有条件的可以直接连接大数据平台或者mysql数据库啥的。也可以自己写个python代码每天自动更新数据。
想想可以每天去抓取房价数据、股市数据来自己做个可视化也挺不错,感觉这个redash比Tableau方便。
目前就这么多,后续:
(1)是想改改源码,然后能直接读取本地的csv文件到数据库,希望有大神可以指导指导;
(2)可以直接改为运行python3,同时可以跑机器学习模型,python结果直接可视化等等;
(3)链接neo4j展示社交网络图,做欺诈分析等。
(4)探索新用法…
–Over–
参考链接:[感谢大佬们的教程]
安装教程:
http://www.aloneme.cn/2019/07/02/Redash%E8%AF%A6%E7%BB%86Docker%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B/
www.aloneme.cn/2019/07/02/Redash%E8%AF%A6%E7%BB%86Docker%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B/
查询不出结果:
https://github.com/getredash/redash/issues/3761
github.com/getredash/redash/issues/3761
dockerhub redash:
Docker Hub
hub.docker.com/r/redash/redash/tags
以Redash為資料視覺化方案之選擇與實踐系列
https://medium.com/marsw-redash/bi%E5%B7%A5%E5%85%B7-%E4%BB%A5redash%E7%82%BA%E8%B3%87%E6%96%99%E8%A6%96%E8%A6%BA%E5%8C%96%E6%96%B9%E6%A1%88%E4%B9%8B%E9%81%B8%E6%93%87%E8%88%87%E5%AF%A6%E8%B8%90%E7%B3%BB%E5%88%97-affbf9cb45a6
medium.com/marsw-redash/bi%E5%B7%A5%E5%85%B7-%E4%BB%A5redash%E7%82%BA%E8%B3%87%E6%96%99%E8%A6%96%E8%A6%BA%E5%8C%96%E6%96%B9%E6%A1%88%E4%B9%8B%E9%81%B8%E6%93%87%E8%88%87%E5%AF%A6%E8%B8%90%E7%B3%BB%E5%88%97-affbf9cb45a6
Team 报表系统定制——基于 Redash 的二次开发
www.jianshu.com/p/36ac116f7e0a
medium和github上有很多资料,可以去看看。
redash调研
https://cloud.tencent.com/developer/article/1586580
cloud.tencent.com/developer/article/1586580