应用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下一步的研究方向。

本文转自d1net(转载)

相关文章
|
21天前
|
数据采集 人工智能 算法
数据没洗干净,分析全白干:聊聊大数据里的“洗澡水”工程
数据没洗干净,分析全白干:聊聊大数据里的“洗澡水”工程
40 1
|
22天前
|
资源调度 安全 Java
Java 大数据在智能教育在线实验室设备管理与实验资源优化配置中的应用实践
本文探讨Java大数据技术在智能教育在线实验室设备管理与资源优化中的应用。通过统一接入异构设备、构建四层实时处理管道及安全防护双体系,显著提升设备利用率与实验效率。某“双一流”高校实践显示,设备利用率从41%升至89%,等待时间缩短78%。该方案降低管理成本,为教育数字化转型提供技术支持。
45 0
|
23天前
|
存储 数据采集 数据可视化
Java 大视界 -- 基于 Java 的大数据可视化在城市地下管网管理与风险预警中的应用(275)
本文系统阐述 Java 与大数据可视化技术在城市地下管网管理中的应用,涵盖数据采集、三维建模、风险预警及性能优化,结合真实案例提供可落地的技术方案。
|
23天前
|
数据采集 搜索推荐 算法
Java 大视界 -- Java 大数据在智能教育学习社区用户互动分析与社区活跃度提升中的应用(274)
本文系统阐述 Java 大数据技术在智能教育学习社区中的深度应用,涵盖数据采集架构、核心分析算法、活跃度提升策略及前沿技术探索,为教育数字化转型提供完整技术解决方案。
|
传感器 分布式计算 安全
Java 大视界 -- Java 大数据在智能安防入侵检测系统中的多源数据融合与分析技术(171)
本文围绕 Java 大数据在智能安防入侵检测系统中的应用展开,剖析系统现状与挑战,阐释多源数据融合及分析技术,结合案例与代码给出实操方案,提升入侵检测效能。
Java 大视界 -- 基于 Java 的大数据分布式存储在视频监控数据管理中的应用优化(170)
本文围绕基于 Java 的大数据分布式存储在视频监控数据管理中的应用展开,分析管理现状与挑战,阐述技术应用,结合案例和代码给出实操方案。
Java 大视界 -- 基于 Java 的大数据实时流处理在工业物联网设备状态监测中的应用与挑战(167)
本文围绕基于 Java 的大数据实时流处理技术,深入探讨其在工业物联网设备状态监测中的应用与挑战。不仅介绍了技术架构、原理和案例,还引入边缘计算技术,提出应对数据质量、性能和安全等问题的策略。
|
1月前
|
机器学习/深度学习 存储 算法
Java 大视界 -- Java 大数据在智能农业无人机植保作业路径规划与药效评估中的应用(165)
本文围绕 Java 大数据在智能农业无人机植保作业路径规划与药效评估中的应用展开,剖析作业现状与挑战,阐述技术原理及应用方法,结合案例与代码,给出具有实操性的解决方案。
Java 大视界 -- Java 大数据在智能农业无人机植保作业路径规划与药效评估中的应用(165)
|
数据可视化 Java 大数据
Java 大视界 -- 基于 Java 的大数据可视化在城市规划决策支持中的交互设计与应用案例(164)
本文围绕基于 Java 的大数据可视化在城市规划决策支持中的应用展开,分析决策支持现状与挑战,阐述技术应用方法,结合实际案例和代码,提供实操性强的技术方案。
|
1月前
|
数据采集 自然语言处理 算法
朋友圈里的“数据局”——聊聊大数据与社交媒体分析的那些事儿
朋友圈里的“数据局”——聊聊大数据与社交媒体分析的那些事儿
73 0

热门文章

最新文章