一切始于Google那篇经典论文《MapReduce》。2000年左右,网页激增,Google需处理海量爬虫数据和日志,单机无法胜任,分布式计算成为必由之路。受Lisp函数式编程启发,Google设计出MapReduce模型,隐藏了并发、容错、数据分布等复杂细节。但MapReduce的真正革命性,不在于map/reduce思想本身,而在于它让大数据计算跑在了廉价的PC集群上——从此,计算能力靠加节点,不再靠换更快的主机。
Google三宝(MapReduce、GFS、BigTable)虽好,却不开源。于是Hadoop诞生,开源实现了MapReduce和HDFS。Hadoop因此成为大数据技术的代名词。
大数据有“3V”特征:Volume(规模巨大)、Velocity(流动快)、Variety(来源多样)。处理流程一般是:接入→持久化→计算分析→展示。
处理框架分三类。批处理处理海量、持久、有限的数据,代表是Hadoop MapReduce,但受限于磁盘IO、编程模型单一,如今使用率下降。流处理处理永不停止的实时数据,代表有Storm(亚秒级延迟)和Samza(与Kafka、YARN深度集成)。混合框架则兼顾两者:Spark用微批次实现流处理,凭借内存计算RDD和DAG模型,速度比MR快数十倍,生态丰富,是目前企业应用王者;Flink则反其道而行,将批处理视为有界流,真正逐条处理,延迟更低,被称为“下一代框架”,但商用案例尚少。
选型建议:初学者仍可从Hadoop入门,再学Spark。企业若纯批处理且不敏感,选Hadoop成本低;纯流处理且低延迟选Storm,可容忍略高延迟选Spark Streaming;已有Kafka和YARN环境选Samza;需批流兼顾,Spark稳妥,Flink激进但潜力巨大。
国际数据治理协会(IDGA)

24

被折叠的 条评论
为什么被折叠?



