我们会经常提到BI系统(Business Intelligence),它是一个重要的数据出入口,帮助数据,帮助企业获取数据表报制定战略决策。大家熟知的有FineBI和Microsoft的powerBI,但是使用成本都不低需要授权需要客户端,使用配置也相当繁琐。笔者今天给大家带来的是一款开源纯Web网页的数据工具。
附上:
喵了个咪的博客:
Redash官方Git地址:
Redash官方文档:
PS:当前最新版本为V8版本,低版本向高版本升级会存在一些奇怪问题请做好备份在进行升级
一、redash介绍
作为一名软件工程师最头大的就是,产品不停的要求拉这种数据哪种数据,或者是提了一堆数据报表的需求一直写CURD没有技术含量,重复的事情就应该用工具来解决数据可视化,甚至于让产品去自助解决。笔者也一直在找工具,来解决整个公司研发在数据输出问题,一个不经意的机会发现Redash这个开源组件。当然选择Redash也有它自身的优势。
对于一个BI来说最重要的是支持的数据源的种类,Redash支持超过35个数据源,几乎可以满足所有的场景:
Redash包含两个部分:
查询编辑器:考虑使用JS Fiddle进行SQL查询。通过共享数据集和生成数据的查询,您可以以开放的方式共享组织中的数据。这样,每个人都可以不仅查看结果数据集,而且可以查看生成它的过程。也可以将其分叉并生成新的数据集并获得新的见解。
可视化和仪表板:一旦有了数据集数据可视化,就可以从中创建不同的可视化文件,然后将多个可视化文件组合到一个仪表板中。目前Redash支持图表,数据透视表,队列和更多。
二、redash安装
Ubuntu 完整安装方式如果是ubuntu直接跑官方的命令:
git clone https://github.com/getredash/setup.git
cd setup
// 步骤一 安装docker
// 步骤二 创建数据库映射目录
// 步骤三 创建基础配置文件
// 步骤四 安装docker-composer初始化数据库,运行Redash
./setup.sh
笔者平时使用ubuntu比较少,centos是平时主要用的系统,笔者根据官方的安装方式整理了一套基本有docker就可以安装的教程,前提准备好 docker 和 docker-composer,可以参考笔者之前的文章:
mkdir redashsetup
cd redashsetup/
// 创建数据库映射目录和基础配置文件
vim redashenv.sh
#!/usr/bin/env bash
# This script setups dockerized Redash on Ubuntu 18.04.
set -eu
mkdir /opt/redash
mkdir /opt/redash/postgres-data
REDASH_BASE_PATH=/opt/redash
if [[ -e $REDASH_BASE_PATH/env ]]; then
rm $REDASH_BASE_PATH/env
touch $REDASH_BASE_PATH/env
fi
COOKIE_SECRET=$(pwgen -1s 32)
SECRET_KEY=$(pwgen -1s 32)
POSTGRES_PASSWORD=$(pwgen -1s 32)
REDASH_DATABASE_URL="postgresql://postgres:${POSTGRES_PASSWORD}@postgres/postgres"
echo "PYTHONUNBUFFERED=0" >> $REDASH_BASE_PATH/env
echo "REDASH_LOG_LEVEL=INFO" >> $REDASH_BASE_PATH/env
echo "REDASH_REDIS_URL=redis://redis:6379/0" >> $REDASH_BASE_PATH/env
echo "POSTGRES_PASSWORD=$POSTGRES_PASSWORD" >> $REDASH_BASE_PATH/env
echo "REDASH_COOKIE_SECRET=$COOKIE_SECRET" >> $REDASH_BASE_PATH/env
echo "REDASH_SECRET_KEY=$SECRET_KEY" >> $REDASH_BASE_PATH/env
echo "REDASH_DATABASE_URL=$REDASH_DATABASE_URL" >> $REDASH_BASE_PATH/env
chmod -R 777 redashenv.sh
./redashenv.sh
如果需要使用邮件相关功能,如用户邀请,密码重置,警报触发时等等功能需要增加如下配置:
vim /opt/redash/env
REDASH_MAIL_SERVER (default: localhost)
REDASH_MAIL_PORT (default: 25)
REDASH_MAIL_USE_TLS (default: false)
REDASH_MAIL_USE_SSL (default: false)
REDASH_MAIL_USERNAME (default: None)
REDASH_MAIL_PASSWORD (default: None)
REDASH_MAIL_DEFAULT_SENDER (Email address to send from)
version: "2"
services:
server:
image: redash/redash:8.0.0.b32245
depends_on:
- postgres
- redis
environment:
PYTHONUNBUFFERED: 0
REDASH_LOG_LEVEL: "INFO"
REDASH_REDIS_URL: "redis://redis:6379/0"
REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres"
REDASH_RATELIMIT_ENABLED: "false"
REDASH_WEB_WORKERS: 4
restart: always
command: server
ports:
- "5000:5000"
scheduler:
image: redash/redash:8.0.0.b32245
depends_on:
- postgres
- redis
environment:
PYTHONUNBUFFERED: 0
REDASH_LOG_LEVEL: "INFO"
REDASH_REDIS_URL: "redis://redis:6379/0"
REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres"
REDASH_RATELIMIT_ENABLED: "false"
QUEUES: "celery"
WORKERS_COUNT: 1
restart: always
command: scheduler
scheduled_worker:
image: redash/redash:8.0.0.b32245
depends_on:
- postgres
- redis
environment:
PYTHONUNBUFFERED: 0
REDASH_LOG_LEVEL: "INFO"
REDASH_REDIS_URL: "redis://redis:6379/0"
REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres"
REDASH_RATELIMIT_ENABLED: "false"
QUEUES: "scheduled_queries,schemas"
WORKERS_COUNT: 1
restart: always
command: worker
adhoc_worker:
image: redash/redash:8.0.0.b32245
depends_on:
- postgres
- redis
environment:
PYTHONUNBUFFERED: 0
REDASH_LOG_LEVEL: "INFO"
REDASH_REDIS_URL: "redis://redis:6379/0"
REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres"
REDASH_RATELIMIT_ENABLED: "false"
QUEUES:
来源【首席数据官】,更多内容/合作请关注「辉声辉语」公众号,送10G营销资料!
版权声明:本文内容来源互联网整理,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 jkhui22@126.com举报,一经查实,本站将立刻删除。