大数据营销
上QQ阅读APP看书,第一时间看更新

1.4 大数据技术框架

大数据技术是一系列技术的总称,集合了数据采集与传输、数据存储、数据处理与分析、数据挖掘、数据可视化等技术,是一个庞大而复杂的技术体系。根据大数据从获取到应用的流程,大数据技术框架分为数据采集、数据存储、数据处理、数据治理与建模以及数据应用等层,大数据技术框架如图1-8所示。

数据采集是大数据技术框架的第一层,通过使用大数据采集技术获得来自传感器、移动互联网等的各种类型的结构化、半结构化及非结构化的海量数据,为实现对数据的抽取—转换—加载(Extract-Transform-Load,ETL)操作打好基础。

当大量的数据采集完成后,需要对数据进行存储。数据存储可以分为持久化存储和非持久化存储。持久化存储表示把数据存储在磁盘等介质中,存储机器异常断电或者损坏后,只要存储介质未被损坏,数据就不会丢失,常见的持久化工具有HDFS、HBase和MongoDB等。非持久化存储表示把数据存储在内存中,具有读写速度快等优点,但是存储机器关机或断电后,数据就会丢失,常见的工具有Memcached等。Redis通过作为持久化存储和非持久化存储的中介,为非持久化存储的数据提供缓存机制,可以大幅提高系统的响应速度,降低非持久化存储的压力。

图1-8 大数据技术框架

数据存储完成之后,还需要考虑如何利用它们产生更大的价值。因此,我们需要进行数据处理。目前数据处理主要分为两类:在线处理和离线处理。在线处理是对实时响应要求非常高的处理,如对存储数据的数据库的一次查询操作。而离线处理就是对实时响应没有要求的处理,如批量压缩文档。利用消息机制可以提升处理的及时性,Hadoop的MapReduce是一种典型的离线批量计算框架。

数据采集、数据存储和数据处理是大数据技术框架的基础。一般情况下,完成上述三个步骤,就已经将数据转化为可以进行初步挖掘的基础数据,为上层的数据应用提供了数据支撑。但是在大数据时代,由于数据具有类型多样、价值密度低的特点,还要求对数据进行治理和融合建模。通常利用R语言、Python等对数据进行ETL预处理,然后再根据算法模型、业务模型进行融合建模,才能更好地为业务应用提供优质底层数据。

数据应用层反映大数据技术应用的目标,通常包括信息检索、关联分析等功能。信息检索主要是根据用户需求,通过全面、准确地查找数据库,从海量的数据中返回用户需要的信息。Lucene和Elasticsearch等开源项目为信息检索的实现提供了支持。关联分析通常用来挖掘数据之间的内在联系,常用在产品推荐与引导、用户精准营销中。

大数据技术框架为大数据的业务应用提供了一种通用的架构,实际应用时还需要根据行业领域、公司技术积累以及业务场景,从业务需求、产品设计、技术选型到实现方案流程上具体问题具体分析。