不久前,在商业智能实时图表解决方案的选择中,我们简单讲了下实时分析的工作流程。今天我们就来详细讨论一下这个话题。
如果你已经使用过实时dashboard,或者正打算建立一个,那么,这篇文章可以帮助你理解实时dashboard背后的故事以及实时数据如何展现在你的dashboard中,从而实现数据可视化。
除去端到端之间极短的时间,数据实时可视化主要有四大步骤。这里我们用一张图来展示。
1、捕获数据流
实时数据流使用 scrapers、collectors、agents、listeners捕获,并且存储在数据库中。数据库通常是NoSQL数据库,例如, Cassandra、MongoDB, 或者有时候是你只是Hadoop Hive。关系数据库不适合这种高展现的分析。NoSQL数据库的崛起也增强了实时数据分析向他靠拢的趋势。
2、数据流处理
数据流可以通过许多方式处理,比如,分裂、合并、计算以及与外部数据源结合。这些工作由一个容错分布式数据库系统,比如, Storm、Hadoop,这些都是比较常用的大数据处理框架。但是他们却不是实时数据分析的理想选择。因为他们依赖MapReduce面向批量的处理。不过Hadoop 2.0允许使用其他计算算法代替MapReduce,这样使得Hadoop在实时分析系统中运用又进了一步。处理之后,数据就可以很可视化组件读取了。
3、数据可视化组件读取处理过的数据
处理过的数据以结构化的格式(比如JSON或者XML)存储在NoSQL数据库中,被可视化组件读取。在大多数情况下,这会是一个嵌入到一个内部BI系统的图表库,或者成为像Tableau这种更加广泛的可视化平台的一部分。处理过的数据在JSON/XML文件中的刷新频率,称为更新时间间隔。