深圳云网站建站公司,网站打不开用什么浏览器,松滋做网站,网站地址解析计算框架选型与对比 一、大数据平台二、计算框架分类1.批处理架构2.实时流处理架构3.流批一体处理架构 三、计算框架关键指标1.处理模式2.可伸缩性3.消息传递3.1 至少一次#xff08;at least once#xff09;3.2 至多一次#xff08;ai most once#xff09;3.3 恰好一次at least once3.2 至多一次ai most once3.3 恰好一次exactly once 4.中间结果存储5.迭代计算6.吞吐量7.容错8.状态管理 四、计算框架对比总结参考链接 一、大数据平台
针对大数据的应用每个企业都有自己特定的需求和情况所以都需要针对需求成本技术等搭建自己的大数据平台。大数据平台是一个对海量数据从采集、存储、计算、应用、管理、运维的多方位、多维度的组合研究设计从而建设合理高效满足企业需求的大数据平台架构。
二、计算框架分类
为了应对数据量的激增、分析需求时效性的要求计算框架逐步从早期的批处理转变到现在的实时流处理的转变按照对数据处理方式计算框架可以分类如下
1.批处理架构
批处理指的是将数据按照批次进行收集、存储和处理分析。批处理是一种离线数据处理方式、数据被收集完毕后才会进行处理因此需要等待一段时间。早期大数据平台基本都是采用批处理对数据进行计算。Apache Hadoop就是一个批处理框架包括存储组件HDFS和计算组件MapReduce。 优点
适用于离线数据处理特别是对历史数据进行分析和挖掘 例如日志数据、数据库数据等高吞吐量、能够处理大规模数据、适合大数据分析处理的数据规模比较大通常数百万或数千万条数据
缺点
不能实现实时分析数据处理延时比较高不适合低延迟场景
2.实时流处理架构
实时流处理就是数据生产之后立刻进行处理数据以流的形式产生后即可进行处理和分析可以实现更低的延迟和更高的即可性。实时流是一种在线数据处理方式Apache Storm和Apache Samza是实时流处理架构。 优点
实时性更强低延迟、适合一些即时场景例如金融交易、物联网等一般是实时小规模数据流
缺点
针对离线数据处理吞吐量低于批处理可能无法支持复杂逻辑处理
3.流批一体处理架构
随着需求发展大数据需要提供更全面的数据处理能力也就是需要同时支持批处理和实时处理。所以一个架构将批处理和流处理结合成为一种趋势将实时流数据存储下来然后在批量任务中进行深入分析和挖掘。Apache Spark和Apache Flink是典型的流批一体处理架构。 优点
可以充分发挥批处理和实时处理的优势满足不同的业务需求。可以减少实时流处理的压力将部分处理转移到批处理中进行。
缺点
增加了系统复杂性需要同时维护批处理和实时处理组件数据一致性需要特别关注
三、计算框架关键指标
计算框架在对大数据处理过程中会遇到一些普遍存在和框架需要处理的问题所以计算框架支持的功能和解决一些问题的处理方式可以看作关键指标和对比维度。主要维度如下
1.处理模式
处理模式是指计算框架对批处理和实时处理支持与否。
2.可伸缩性
可伸缩性是指系统通过增加资源来应对不断增加的负载的能力。由于大数据本地就存在负载不均衡或者不连续的情况所以是大数据架构的基本指标。现有的大数据框架基本都是通过水平拓展来应对负载的增加。
3.消息传递
针对在处理过程中如果出现异常每个框架对消息如何处理并不相同。按照处理类型分为
3.1 至少一次at least once
意味着会很多次尝试对消息进行处理并且至少处理成功一次。可能导致最终的处理结果中数据重复的情况。
3.2 至多一次ai most once
意味只会一次尝试对消息进行处理也就是最多成功一次。可能导致最终处理结果中数据缺失的情况
3.3 恰好一次exactly once
意味着该消息不会被重复处理也不会不进行处理只会被精确的处理一次。这种情况最终的处理结果中数据是精准的。
4.中间结果存储
计算过程中中间的结果存储介质如果保存到磁盘、则计算速度慢、但是对内存需求会比较低如果保存到内存、则计算速度快、但是需要较大的内存支持。
5.迭代计算
迭代计算是指迭代方法的实现该迭代方法在没有实际解的情况下或在实际解的成本过高的情况下估计近似解
6.吞吐量
7.容错
分布式系统中包含任务故障、节点故障、网络故障等框架应该能够恢复并且应该从它离线的位置再次开始处理一般通过不时地检查流式传输到某个持久存储的状态来实现
8.状态管理
在状态处理要求的情况下我们需要维护某些状态例如记录中看到的每个不同单词的计数框架应该能够提供一些机制来保存和更新状态信息。
四、计算框架对比 总结
以上对大数据平台组成、计算框架需要提供哪些功能、常用计算框架对比。
参考链接
1.大数据处理平台的架构演进从批处理到实时流处理