caravel系列之安装与入门
文章目录
caravel是什么
Caravel is an open source data visualization platform that provides easy exploration of your data and allows you to create and share beautiful charts and dashboards
caravel是Airbnb开源的一款数据可视化和探索工具,使用caravel用户可以轻松对数据进行可视化分析。
一图胜千言
使用场景
- 数据库可视化分析
- 数据模式套索
- BI
- 数据报表与可视化图表
- tableau的开源替代
功能特性
- 丰富的可视化组件(集成最优秀的可视化图表库)
- 创建和分享数据可视化互动仪表盘
- 灵活的权限模型, 方面控制数据的可见度
- 方便企业使用的用户验证机制,支持 database, OpenID, LDAP, OAuth和 REMOTE_USER (通过 Flask AppBuilder)
- 简洁的语义层,可以控制数据资源在 UI 的展现方式
- 通过SqlAlchemy可接入大多数据库
- 与 Druid.io 的深度集成,可以方便处理大规模数据集
demo尝试
用户名/密码:test/test
安装
根据官方文档,caravel目前只支持python2.7,将来会支持python3
我们在此演示Ubuntu下的安装,其他系统可以参考官方文档
|
|
如果你熟悉docker,你可以使用docker安装
使用docker安装
docker run --name caravel -d -p 8088:8088 amancevice/caravel
,之后docker exec -it caravel demo
,初始化用户 ,细节参考 dockerhub amancevice/caravel
caravel被映射到本地的8088端口,之后可以用nginx反向代理把它映射出去,nginx中配置如下
|
|
支持的数据源
目前通过相关的python驱动支持大多主流数据仓库:
相关依赖和更多细节可以参考官方文档:Database dependencies,或者sqlalchemy的文档:Engine Configuration
其中Presto,Redshift和Impala可能需要做个介绍.
Presto
Distributed SQL query engine for big data
通过PyHive,我们能用sqlalchemy操作presto数据库,这样依赖我们就可以解决海量数据的SQL查询问题,presto支持PB级别的查询
Redshift
Amazon Redshift 是一种可轻松扩展的完全托管型 PB 级数据仓库服务i
Impala
Lightning-fast, distributed SQL queries for petabytes of data stored in Apache Hadoop clusters
分布式大数据SQL查询
如果我们的数据仓库存储海量的数据,直接查询数据库是低效的,caravel已经与Druid.io深度整合.对于大数据集可以采用Druid.io或是以上的解决方案
原理
这部分直接引用@lxw1234的这篇文章
Caravel通过将界面的操作转换成SQL语句,提交给SQLAlchemy适配数据源查询并返回结果,对于Druid,Caravel将界面的操作转换成Druid的API进行查询并返回结果,与Druid的深度集成,可以实现大规模海量数据的OLAP分析和实时探索。
另外,为了提高并发查询下的性能,还支持数据缓存,可配置将数据缓存至Redis、Memcache或者本地文件系统。
坑
登录问题
- 新建用户无法登录,后端会说权限不够,无提示信息.猜测是用户系统尚未启用.目前是用fabmanager(Flask App Builder)后创建的的admin
参考
- caravel documentation
- caravel github
- presto
- 国内社区与文档
- 京东开放的版本presto
- 京东已实现presto到oracle的连接:http://prestodb-china.com/faq.html
- prestodb-china.
- ansble安装脚本
- Caravel–一款开源OLAP+数据可视化分析前端工具,支持Druid和Kylin
文章作者 种瓜
上次更新 2016-07-26