应用Tableau、Vertica的可视化大数据分析框架

作者:张玺

大数据分析、企业BI、数据可视化等话题在坛子里日趋火热,新的技术,架构也层出不穷,今天借此文跟大家分享一款大数据下的联机分析(ROLAP)解决方案,它应用了当前主流的数据可视化工具Tableau及列存储数据库Vertica, 采用了IBM Platform Analytics数据采集框架和数据ETL(Extract, transform, load)框架完成对原始数据的采集和处理,提供可用于数据可视化处理的数据仓库,完成对业务数据的可视化分析。

数据可视化工具-Tableau

Tableau主要是面向企业数据提供可视化服务, 企业运用Tableau授权的数据可视化软件对数据进行处理和展示。

Tableau目前有三大软件产品:Tableau Desktop、Tableau Server以及Tableau Public。其中Tableau Desktop是一款PC桌面操作系统上(只支持windows系统)的数据可视化分析软件。Tableau Server则是完全面向企业的商业智能应用平台,基于企业服务器和web网页,用户使用浏览器进行分析和操作,还可以将数据发布到Tableau Server与同事进行协作,实现了可视化的数据交互。而Tableau Public是完全免费的,不过用户只能将自己运用Tableau Public制作的可视化作品发布到网络上即Tableau Public社区,而不能保存在本地,每个Tableau Public用户都可以查看和分享,而且Tableau Public所能支持的接入数据源的类型和大小都有所限制,所以Tableau Public更像是Tableau Desktop的公共网络版,重在体验和分享。

图片描述

图1 Tableau Desktop 编辑界面

Tableau 与SPSS、Matlab、Excel等软件的区别

Spss、Matlab、Excel是几个大家比 较熟知的数据分析软件,也都能进行数据的可视化。但Tableau Desktop可以说是一款完全的数据可视化软件,而Spss、Matlab、Excel则各有侧重。Tableau Desktop与之的区别是,Spss作为三大统计分析软件,比较偏重于统计分析,使用者需要一定的数理统计基础,虽然其也是功能强大且操作简单友好,但 其输出的图表在与办公软件的兼容性及交互方面有所欠缺,而Tableau Desktop专注的是结构化数据的快速可视化,使用者可以快速构建美观有效的数据可视化作品,并构建交互界面(通过发布到Server),但只是辅助分 析,辅助人们进行视觉化的思考,并没有像Spss那样强大的统计分析功能。Matlab的功能更加强大,但需要较为深厚的编程基础,比较适合科学方面的可 视化项目。Excel是最流行最常用的数据分析、数据绘图软件,但因其大量糟糕的图表设计案例从而在可视化领域广受诟病,而Tableau Desktop不仅图表美观,而且更加智能,可以自动地进行可视化形式的选择,而且Excel作为一款电子表格工具,其不适用大型数据集。

总之,快速、易用、可视化还是Tabeleau Desktop最大的特点,其能满足大多数企业、政府机构数据分析和展示的需要以及部分大学、研究机构可视化项目的要求,而且特别适合于企业,毕竟Tableau自己的定位也是业务分析和商业智能。

列存储式的数据库-Vertica

Veritica作为列存储数据库,提供了比传统行式存储数据库更快的查询操作。Vertica不仅仅按列式存储数据,还主动地根据列数据的特点和查询的要求选用最佳的算法对数据进行培续和压缩,这就大大降低磁盘I/O消耗。

图片描述

图2 Vertica的列式存储机制

在Vertica中,每列数据式独立地存储在连续的硬盘存储块中。这与传统行式数据库按行的顺序来连续存储数据有根本的不同。 Veritica支持延迟物化技术。对于大多数的分析查询而言,往往只需要获取所有列数据的一个子集。Veritca列式优化器和执行引擎可以在列式存储中跳过无关的列,从而节省了大量的I/O资源消耗。

从实际情况上来看,基于行存储的数据库更适合OLTP(联机事务处理系统),而基于列存储的数据库更适合OLAP(联机分析处理系统),比如数据仓库。除此之外,由于同一列必定是同一类型大小,基于列存储的数据库更容易使用高效的存储方式,与之相比较,基于行存储的数据库则只能采用随机方式处理列值了。

数据采集与ETL集成架构

数据采集与数据加工(ETL)应用了IBM Platform Analytics(以下简称PA)开放式框架,它集成vertica和tableau,实现了从数据采集,数据分析到最终可视化的完整解决方案,其架构如图3所示:

图片描述

图3 PA的集成架构图

Platform Analytics通过Analytics Data Collectors 进行原始数据的采集,并将采集到的数据写入数据库,存放在原始数据表中,Analytics Data Collectors被部署在一台主机上,一个Analytics Data Collectors包括不同的数据采集器,我们称之为dataloader。不同的dataloader负责采集不同类型的数据,这些loader 可以分为events loader,polling loader和database loader。events loader通过对log文件的解析,polling loader通过与系统API的交互定期采集实时数据,database loader则采集数据库中已经存储的数据。这些数据通过通过plc(platform loader controller)对dataloader进行管理,plc作为loader的主进程负责各个loader的定期调度。与此同时,还有一个wsm进程负责HA控制,检测plc的运行状况,在发现plc停止工作的情况下,wsm会自动重启plc,保证数据的及时采集。

除了单节点的PA node,PA node还采用了failover机制,一个loader可以被部署在多台主机上,一旦某台机子宕机,plc会以此被运行在下一个指定的host上。

原始数据写入到数据库后,Platform Analytics Server会调度ETL对数据进行Extract、Transform和Load,生成最终可用来数据分析的分析数据,这些分析数据存放在以RPT 开头的表中,不同的ETL根据自己特有的业务逻辑对原始数据有价值的信息进行提取和聚合。

在Platform Analytics Server上,每个ETL被定义为不同的task,在PA Console上,可以对这些task 的运行周期进行配置,定期调度这些task完成原始数据的Roll Up、Drill Down、Slice、Dice、Filter等操作。与此同时,Platform Server端还提供其他的功能,比如,数据的清洗,数据延迟的检测,用户数据的合并以及对数据库表中重复的数据进行删除操作。

最终的数据通过可视化工具Tableau Server展现,终端用户可以通过浏览器访问Workbook,对Workbook进行条件查询和数据筛选来查看符合条件的业务数据,可以通过定义Email Notification定时收到系统事件的反馈。

Platform 通过以上的过程,完成数据的采集,加工及可视化展现,最终用户可以通过Web 浏览器方便浏览Workbook,也可以通过与LSF的其他第三方产品(比如PAC)集成,方便用户定制和浏览Workbook。

图片描述

图4 Workbook 用例展示

结束语

PA目前利用自身提供的数据采集和ETL处理,以及与Tableau和Vertica的集成能够快速相应业务变化的需求,并满足当前的系统性能需求。下一步需要考虑的方向是:在日益增长的数据需求下,如何与其他开源框架的集成,进一步提高数据分析的效率,比如利用ELK来替代现有组件分析系统日志以及采用Spark框架并行处理ETL, 来降低数据周转时间,提高系统的运行效率, 这些都是PA下一步的研究方向。

作者简介:张玺, 2011年加入IBM至今,从事软件测试工作,研究方向为大数据分析,系统实时监控和数据可视化。
责编:周建丁(zhoujd@csdn.net)


2016年3月18日-19日,由CSDN重磅打造的数据库核心技术与实战应用峰会、互联网应用架构实战峰会将在上海举行。这两场峰会将邀请业内顶尖的架构师和技术专家,共同探讨高可用/高并发系统架构设计、新技术应用、移动应用架构、微服务、智能硬件架构、云数据库实战、新一代数据库平台、产品选型、性能调优、大数据应用实战等领域的热点话题与技术。

2月29日24点前仍处于最低六折优惠票价阶段,单场峰会(含餐)门票只需799元,5人以上团购或者购买两场峰会通票更有特惠,限量供应,预购从速。(票务详情链接)。

Tableau 数据可视化与实战 118课 课程目录: 第1章: Tableau数据可视化应用实战 1.本门课程目录 2.本门课程目标 3.Tableau概述_什么是数据可视化? 4.Tableau概述_如何用图表讲故事?(1) 5.Tableau概述_Tableau发展历程 6.Tableau概述_Tableau家族产品 7.Tableau概述_Tableau产品优势 8.Tableau新手上路_Tableau Desktop安装配置 9.Tableau新手上路_Tableau的导航与菜单 10.Tableau新手上路_Tableau设计流程最佳实践 11.Tableau新手上路_Tableau数据类型与文件 12.Tableau新手上路_Tableau数据源初探 13.Tableau初级篇_数据源深入_基本操作 14.Tableau初级篇_数据源深入_数据连接方式(实时vs提取) 15.Tableau初级篇_数据源深入_多表数据连接 16.Tableau初级篇_数据源深入_异构数据混合 17.Tableau初级篇_数据源深入_提取数据 18.Tableau初级篇_工作表_常规操作 19.Tableau初级篇_工作表_编辑元数据(更改数据类型) 20.Tableau初级篇_工作表_编辑元数据(列的重命名与隐藏) 21.Tableau初级篇_工作表_编辑元数据(别名) 22.Tableau初级篇_工作表_字段操作(合并字段) 23.Tableau初级篇_工作表_字段操作(分层字段) 24.Tableau初级篇_工作表_字段操作(字段分组) 25.Tableau初级篇_工作表_字段操作(字段拆分) 26.Tableau初级篇_工作表_字段操作(初识计算字段) 27.Tableau初级篇_工作表_演示集成员对总额的贡献程度如何? 28.Tableau初级篇_工作表_演示一个集内有多少成员存在于另一个集内(上) 29.Tableau初级篇_工作表_演示一个集内有多少成员存在于另一个集内(下) 30.Tableau初级篇_工作表_小结 31.Tableau中的函数与计算_运算符 32.Tableau中的函数与计算_数字函数 33.Tableau中的函数与计算_字符串函数 34.Tableau中的函数与计算_日期函数 35.Tableau中的函数与计算_聚合函数 36.Tableau中的函数与计算_类型转换函数 37.Tableau中的函数与计算_逻辑函数 (上) 38.Tableau中的函数与计算_逻辑函数 (下) 39.Tableau中的函数与计算_在Tableau中创建公式 4p.Tableau中的函数与计算_Tableau数值计算 41.Tableau中的函数与计算_Tableau字符串计算 42.Tableau中的函数与计算_Tableau日期计算 43.Tableau中的函数与计算_实例演示_表计算之差异计算 44.Tableau中的函数与计算_实例演示_表计算之百分比差异计算 45.Tableau中的函数与计算_实例演示_表计算之百分比计算 46.Tableau中的函数与计算_实例演示_表计算之总额百分比计算 47.Tableau中的函数与计算_实例演示_表计算之总额排名计算 48.Tableau中的函数与计算_实例演示_表计算之百分位计算 49.Tableau中的函数与计算_实例演示_表计算之汇总计算 50.Tableau中的函数与计算_实例演示_表计算之汇总计算(从属计算) 51.Tableau中的函数与计算_实例演示_表计算之移动计算 52.Tableau中的函数与计算_快速表计算 53.Tableau中的函数与计算_临时计算 54.Tableau中的函数与计算_小结 第2章: Tableau高级分析与项目实战 55.本门课程简介 56.Tableau中的排序与筛选器_手动排序 57.Tableau中的排序与筛选器_计算排序 58.Tableau中的排序与筛选器_如何创建与编辑筛选器 59.Tableau中的排序与筛选器_实例演示维度类型的筛选器 60.Tableau中的排序与筛选器_实例演示度量类型的筛选器 61.Tableau中的排序与筛选器_实例演示日期类型的筛选器 62.Tableau中的排序与筛选器_实例演示上下文类型的筛选器 63.Tableau中的排序与筛选器_实例演示条件筛选器 64.Tableau中的排序与筛选器_实例演示顶部筛选器 65.Tableau中的排序与筛选器_实例演示通配符筛选器 66.Tableau中的排序与筛选器_小结 67.Tableau中的参数_如何创建与修改参数? 68.Tableau中的参数_实例演示计算字段如何结合参数使用 69.Tableau中的参数_实例演示计算字段如何结合筛选器使用 70.Tableau中的参数_综合示例参数在视图中的运用(上) 71.Tableau中的参数_综合示例参数在视图中的运用(下) 72.Tableau图表分析_实例上手条形(柱状)图 73.Tableau图表分析_实例上手折线图 74.Tableau图表分析_实例上手饼状图 75.Tableau图表分析_实例上手散点图 76.Tableau图表分析_实例上手文本表 77.Tableau图表分析_实例上手热图 78.Tableau图表分析_实例上手直方图 79.Tableau图表分析_实例上手甘特图 80.Tableau图表分析_实例上手盒须图 81.Tableau图表分析_实例上手填充气泡图 82.Tableau地图绘制与图像_综述 83.Tableau地图绘制与图像_设置地理角色 84.Tableau地图绘制与图像_如何在自定义地理角色 85.Tableau地图绘制与图像_构建简单的地图视图 86.Tableau地图绘制与图像_构建简单的饼图视图 87.Tableau地图绘制与图像_示例创建显示定量值的地图 88.Tableau地图绘制与图像_法国巴黎地铁车站交通量蜘蛛图(上) 89.Tableau地图绘制与图像_法国巴黎地铁车站交通量蜘蛛图(下) 90.Tableau地图绘制与图像_西雅图、华盛顿中的自行车共享数据 91.Tableau高级图表类型_参考线 92.Tableau高级图表类型_参考区间 93.Tableau高级图表类型_分布区间 94.TableauTableau 仪表盘和故事_仪表盘详解(上) 95.TableauTableau 仪表盘和故事_仪表盘详解(下) 96.TableauTableau 仪表盘和故事_故事详解 97.TableauTableau 仪表盘和故事_关于仪表盘的最佳实践 98.TableauTableau 仪表盘和故事_关于如何讲述一个精彩故事的最佳实践 99.项目一_教育网站指标评估_项目背景与需求分析 100.项目一_教育网站指标评估_制作【均分】视图 101.项目一_教育网站指标评估_制作【考试成绩】视图 102.项目一_教育网站指标评估_制作【学校教育水平评估】仪表盘 103.项目一_教育网站指标评估_制作【各维度比较】视图 104.项目一_教育网站指标评估_制作【城市地图】视图 105.项目一_教育网站指标评估_制作【城市教育水平评估】仪表盘 106项目一_教育网站指标评估_制作【教育网站指标评估】故事 107.项目二_网站用户行为分析_项目背景与需求分析 108.项目二_网站用户行为分析_详细设计与业务术语说明 109.项目二_网站用户行为分析_制作【按页面查看】视图 110.项目二_网站用户行为分析_制作【按媒介查看】静态视图 111.项目二_网站用户行为分析_制作【用户访问量】视图 112.项目二_网站用户行为分析_制作【用户访问行为分析】仪表盘 113.项目三_零售行业进销存分析_项目背景与需求分析 114.项目三_零售行业进销存分析_原始数据与素材准备 115.项目三_零售行业进销存分析_制作【货架图】视图 116.项目三_零售行业进销存分析_制作【各门店销售趋势】视图 117.项目三_零售行业进销存分析_制作【产品类别】视图 118.项目三_零售行业进销存分析_制作【货架分析报告】仪表盘
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值