大数据领域的奠基石,毫无疑问,是google 2003年发表的Big Table、Google File System和Map Reduce三篇论文。大数据平台的发展:批处理、流计算、全面融合。
批处理
海量数据存储在HDFS,通过Map Reduce框架实现分布式计算。但“分布式存储+MR”的架构只能批处理 已经落到磁盘的静态数据,无法再数据采集传输等流动过程处理数据。
数据处理延迟较大,影响数据的时效性应用。
流计算
在数据流产生及传递过程,流式地消费并处理数据。在每个“时间窗口”内的数据,被短暂缓存并消费;完成一个窗口的数据处理后,滑动到下一个时间窗口进行新一轮的数据处理。
理论上,计算延迟仅与窗口窗口大小有关。
流处理包括:(1)对单个数据流处理(2)不同数据流进行join,在同一时间窗口整合(3)一个流计算节点输出,作为下游的输入。
纯流式计算,不利于数据合法性检查、数据回放、全量数据分析。
Lambda架构
从最开始的数据收集阶段 列变成两条分支:实时流、离线处理。流计算部分保障数据实时性,以增量计算为主;批处理对全量数据计算,保障特征丰富性和最终的一致性。
在统计数据最终存入数据库前,Lambda架构会对 实时流数据、离线曾数据 合并,利用离线层数据对实时流数据进行校验和纠错。
实时流和离线处理部分存在冗余逻辑和编码工作,需要做进一步融合。
Kappa架构
离线批处理是流处理的一种特殊形式,即只需要把“滑动窗口”调到足够大。
如何在离线环境,利用流处理框架进行数据批处理:在原有流处理的框架上加两个新的通路“数据存储”、“数据重播”。原始数据存储将未经流处理的数据或者日志原封不动地保存到分布式文件系统,数据重播将这些原始数据按时间顺序重播,并用同样的流处理框架进行处理,进而完成离线状态下的数据批处理。
Unified大数据架构
大数据平台与机器学习计算任务整合:
hdfs处理离线海量数据,存储离线训练的样本。
redis在线实时特征数据库,为模型在线服务提供实时特征。