大数据的发展,推动着行业内的技术框架不断革新,以满足新的数据处理需求,解决大数据处理各个环节所遇到的问题。那么大数据框架有哪些?今天我们选取主流的几个大数据框架,对于几个框架的做一个简单的对比分析,希望对大家更好地掌握和理解这些框架,提供一点参考作用。
按照大数据处理的技术趋势,批处理、流处理是主流的模式,市面上的大数据框架,有的支持批处理,有的支持流处理,也有的框架两者皆可:
·仅批处理框架:Apache Hadoop
·仅流处理框架:Apache Storm
·批处理+流处理框架:Apache Spark、Apache Flink
Apache Hadoop框架
Hadoop是大数据领域发展最早的框架之一,早期的设计仅支持批处理,对于大批量的离线处理,表现出极高的稳定性和准确性。Hadoop的批处理功能来自MapReduce引擎——
·从HDFS文件系统读取数据集
·将数据集拆分成小块并分配给所有可用节点
·针对每个节点上的数据子集进行计算(计算的中间态结果会重新写入HDFS)
·重新分配中间态结果并按照键进行分组
·通过对每个节点计算的结果进行汇总和组合对每个键的值进行“Reducing”
·将计算而来的最终结果重新写入HDFS。
基于这样的运算流程,Hadoop框架在批处理上有极大的优势,并且基于Hadoop集群的高扩展能力,不管是多大规模的数据,都能实现稳定的结果计算。
Apache Storm框架
Storm是侧重于极低延迟的流处理框架,在近实时处理领域,Storm是很好的选择。对于延迟需求很高的纯粹的流处理工作负载,Storm可能是最适合的技术。系统保证每条消息都被处理,可配合多种编程语言使用。
Storm可以用极低延迟处理数据,可用于希望获得最低延迟的工作负载。例如需要将处理结果直接提供给访客打开的网站页面,Storm将会是一个很好的选择。
Apache Spark框架
Spark是包含流处理能力的批处理框架,针对早期的Hadoop MapReduce做了优化,侧重于通过完善的内存计算和处理优化机制加快批处理工作负载的运行速度。Spark可作为独立集群部署(需要相应存储层的配合),也可以与Hadoop集成并取代MapReduce引擎。
Spark的流处理是通过Spark Streaming实现的,以亚秒级增量对流进行缓冲,随后这些缓冲会作为小规模的固定数据集进行批处理。因此,对于重视吞吐率而非延迟的工作负载,Spark框架是比较适合的。
Apache Flink框架
Flink,则是可以处理批处理任务的流处理框架。其设计思想,是将批处理数据视作具备有限边界的数据流,借此将批处理任务作为流处理的子集加以处理。
Flink目前是处理框架领域一个独特的技术,流处理为先的方法可提供低延迟,高吞吐率,近乎逐项处理的能力,因此适合有极高流处理需求,并有少量批处理任务的组织。并且因为Flink可兼容原生Storm和Hadoop程序,可在YARN管理的集群上运行,近年来的发展势头很好。
关于大数据框架有哪些,相信看完上面的几个大数据主流框架分析,大家对此也有了基本的认识了。目前来说,没有哪一个框架可以说能够解决大数据当中的所有的问题,但是各自都具有各有的优势,因此平台集成开发应用成为主流的选择。成都加米谷大数据,大数据知识分享,
大数据培训班课程,更多详情可联系客服了解!