学习大数据不可不知的五种大数据开源框架技术,大数据框架Hadoop、Storm、Samza、Spark和Flink五种大数据开源框架详解:
大数据框架?第一映入眼帘的就是这枚大象Hadoop,Hadoop是一个由Apache基金会所开发的分布式系统基础架构,它是目前应用最广泛的大数据工具,Hadoop拥有容错率和极低的硬件价格。
Hadoop是成为了一个广阔的生态圈的批处理框架,Hadoop提出的Map和Reduce的计算模式简洁而优雅,它实现了大量算法和组件。但是,由于Hadoop的计算任务需要在集群的多个节点上多次读写,因此在速度上会稍显劣势,但是Hadoop的吞吐量也同样是其他框架所不能匹敌的。
Storm由Twitter开源并且托管在GitHub上的,Storm大数据框架与Hadoop的批处理模式不同,Storm采用的是流计算框架。但Storm与Hadoop相似之处是也提出了Spout和Bolt两个计算角色。
Samza大数据框架与Storm一样都是流计算框架,Samza必须和Kafka共用,Samza目前只支持JVM语言。
Spark大数据框架是一种混合式的计算框架,Spark自带实时流处理工具;Spark也可以与Hadoop集成代替MapReduce;甚至Spark还可以单独拿出来借助HDFS等分布式存储系统部署集群。
Spark的运算速度与Storm相似,Spark的速度大约为Hadoop的一百倍,而Spark的成本要比Hadoop低,但是Spark目前还没有Hadoop拥有上万级别的集群,所以现阶段将Spark和Hadoop搭配起来使用是比较不错的方案。
Flink大数据框架也是一种混合式的计算框架,Fink与Spark相反的地方在于Fink重点在于处理流式数据,目前Fink还不算成熟。