大数据处理框架分类与选择
来源:互联网 发布:淘宝宠物店铺介绍 编辑:程序博客网 时间:2024/06/14 05:51
提到大数据处理,很多人可能都会想到Google的《MapReduce:Simplied Data Processing on Large Clusters》,毕竟Google算是应用大数据最早的企业了。
大讲台老师认为,hadoop流行的主要原因是它的开源,否则,Google的MapReduce、GFS和BigTable开源的话,估计就没有现在的hadoop了。
(一)大数据处理框架分类
不论是系统中存在的历史数据,还是持续不断接入系统中的实时数据,只要数据是可访问的,我们就可以对数据进行处理。按照对所处理的数据形式和得到结果的时效性分类,数据处理框架可以分为两类:
批处理系统
流处理系统
批处理是一种用来计算大规模数据集的方法。批处理的过程包括将任务分解为较小的任务,分别在集群中的每个计算机上进行计算,根据中间结果重新组合数据,然后计算和组合最终结果。当处理非常巨大的数据集时,批处理系统是最有效的。
典型的批处理系统就是Apache Hadoop。而流处理则对由连续不断的单条数据项组成的数据流进行操作,注重数据处理结果的时效性。典型的流处理系统有Apache Storm,Apache Samza。还有一种系统,同时具备批处理与流处理的能力,这种称为混合处理系统,比如Apache Spark,Apache Flink。接下来我们来详细介绍这三种处理系统。
(二)大数据处理框架的选择
1. 对于初学者
由于Apache Hadoop在大数据领域的广泛使用,因此仍推荐作为初学者学习数据处理框架的首选。虽然MapReduce因为性能原因以后的应用会越来越少,但是YARN和HDFS依然作为其他框架的基础组件被大量使用(比如HBase依赖于HDFS,YARN可以为Spark、Samza等框架提供资源管理)。学习Hadoop可以为以后的进阶打下基础。
Apache Spark在目前的企业应用中应该是当之无愧的王者。在批处理领域,虽然Spark与MapReduce的市场占有率不相上下,但Spark稳定上升,而MapReduce却稳定下降。而在流处理领域,Spark Streaming与另一大流处理系统Apache Storm共同占据了大部分市场(当然很多公司会使用内部研发的数据处理框架,但它们多数并不开源)。伯克利的正统出身、活跃的社区以及大量的商用案例都是Spark的优势。除了可用于批处理和流处理系统,Spark还支持交互式查询、图计算和机器学习。Spark在未来几年内仍然会是大数据处理的主流框架,推荐同学们认真学习。
另一个作为混合处理框架的Apache Flink则潜力无限,被称作“下一代数据处理框架”。虽然目前存在社区活跃度不够高、商用案例较少等情况,不过“是金子总会发光”,如果Flink能在商业应用上有突出表现,则可能挑战Spark的地位。
2. 对于企业应用
如果企业中只需要批处理工作,并且对时间并不敏感,那么可以使用成本较其他解决方案更低的Hadoop集群。
如果企业仅进行流处理,并且对低延迟有着较高要求,Storm更加适合,如果对延迟不非常敏感,可以使用Spark Streaming。而如果企业内部已经存在Kafka和Hadoop集群,并且需要多团队合作开发(下游团队会使用上游团队处理过的数据作为数据源),那么Samza是一个很好的选择。
如果需要同时兼顾批处理与流处理任务,那么Spark是一个很好的选择。混合处理框架的另一个好处是,降低了开发人员的学习成本,从而为企业节约人力成本。Flink提供了真正的流处理能力并且同样具备批处理能力,但商用案例较少,对于初次尝试数据处理的企业来说,大规模使用Flink存在一定风险。
阅读全文
0 0
- 大数据处理框架分类与选择
- 大数据处理框架的类型、比较和选择
- 海量数据处理面试题与十个方法大总结分类
- 顶级大数据处理框架
- 大数据技术平台的分类与选择指南
- 大数据处理为何选择Spark,而不是Hadoop
- 大数据处理与并行计算
- Spark-大数据处理框架的安装
- 实时大数据处理框架Storm---推送系统
- 数据处理分类
- 数据处理与模型选择的一些注释
- 云计算与大数据处理技术
- 云计算与大数据处理技术
- 云计算与大数据处理技术
- 数据结构与算法之大数据处理
- 大数据处理思路与mysql分区1
- 实时大数据处理之storm与zeroMQ
- 大数据管理平台-数据处理与数据集市
- Kinect2.0配合Unity3D使用中获取AcquireLatestFrame()的一个坑
- Android填坑之旅(第十七篇)MIX2 适配看这一篇就够了,只需一行代码
- 三级缓存处理图片
- angular.js查询天气
- 4977:怪盗基德的滑翔翼
- 大数据处理框架分类与选择
- List与ArrayList
- iOS
- 错误记录:illegal to have multiple occurrences of contentType with different values
- 设置div滚动条样式
- 自定义view属性动画 获取异常捕获 recyclerview上刷下加
- JQuery中Ajax的操作
- angular表格单个字段查询,修改,添加
- xlistivew+数据展示+进入详情+圆角图片