论文部分内容阅读
实时计算又称流处理,是一个从数据产生,就即时采集计算的过程,能够满足更快运算和分析的需求。大数据技术的出现和发展,为海量数据的处理提供新的解决方案。最初基于Hadoop构建的离线批处理系统,通过HDFS存储,Map Reduce、Hive计算的模式来实现。目前,这套模式通常用来构建大型数据仓库。传统的基于数据仓库的查询统计,首先通过ETL技术将各个业务系统的数据同步到数据仓库,形成ods层数据集,在此基础上进行数据开发。数据仓库存储的往往是T-1的数据,无法满足对数据实时处理的需求。虽然可以将数据的调度时间调整到30分钟到数小时不等,这种方式具有高吞吐量、耗时长的特点,可以满足对时效性要求不高的离线分析报表的需求。但是,越来越多的应用场景通过离线批处理的方式已经满足不了需求,企业希望能够对流数据进行在线实时处理和即时响应,因为这些数据的价值是有时效性的。而实时计算技术的出现和发展,加快了数据的处理过程,让数据产生更大的价值。本文基于蓝月亮对实时处理电商交易数据、埋点数据、生产制造数据等的需求,探讨了构建统一的大数据实时计算平台的设计和实现过程。实时计算平台处理数据的流程如下:首先通过canal解析My SQL binlog日志写到本地文件,接着Flume进行采集写入分布式消息队列Kafka,最后由分布式实时计算框架Storm拉取Kafka上的数据进行计算处理,计算结果写入到高速缓存组件Redis中。同时,平台还构建了分布式索引服务elasticsearch,来满足实时索引的需求,以及对实时计算过程中遇到的脏数据进行存储和后续分析。