BigData

Team 报表系统定制——基于 Redash 的二次开发

2017-09-25  本文已影响0人  obsolescence

简介

Redash 是团队查询,可视化和协作的一款开源 BI 工具,提供了基于 web 的数据库查询和数据可视化功能。

Redash 基于 PythonAngularJS 编写,使用 Flask web 框架,可快速轻便的访问大量数据。支持多种数据来源,包括:Redshift, Google BigQuery, PostgreSQL, MySQL, Graphite, Presto, Google Spreadsheets, Cloudera Impala, Hive等等。

在数据运维人员的日常工作中,常会遇到需要将数据库中的数据查询并展示出来的问题,可能总是需要让前端开发人员来做 web 页面帮助完成这些需求。Redash 提供了这么一种简单便捷的方式将这些工作标准化:在 web 页面上输入 sql 语句,使用查询返回的结果构造数据可视化图表,用户可以将这些图表结果拖动构造成自己需要的数据面板,在很大程度上可以缓解数据运维人员对前端开发人员的需求。


升级 Redash 分享 Dashboard 的机制


安装

  1. Install Docker, Docker Compose and Node.js
  2. 下载源码

在 Docker 上启 redash 后端服务

在 redash 目录里运行 :

启 redash 前端服务:

$ npm install
$ npm run build
$ npm run start

如果要启开发版:
将 package.json 中的 build 那行改为:

"build": "rm -rf ./client/dist/ && NODE_ENV=development node node_modules/.bin/webpack"

如果报错:


Models

梳理了一下 redash 的表结构(线条太杂就失去了梳理的初衷,所以省略了一些箭头)。

models
Redash 源码中数据库工具使用 SQLAlchemy,数据库使用 PostgreSQL

后端实现


前端实现



先挖坑,以后再慢慢补充



参考资料:

上一篇 下一篇

猜你喜欢

热点阅读