大数据-计算框架选型与对比

计算框架选型与对比

  • 一、大数据平台
  • 二、计算框架分类
    • 1.批处理架构
    • 2.实时流处理架构
    • 3.流批一体处理架构
  • 三、计算框架关键指标
    • 1.处理模式
    • 2.可伸缩性
    • 3.消息传递
      • 3.1 至少一次(at least once)
      • 3.2 至多一次(ai most once)
      • 3.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.大数据处理平台的架构演进:从批处理到实时流处理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/182702.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis报错:JedisConnectionException: Could not get a resource from the pool

1、问题描述: redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool 2、简要分析: redis.clients.util.Pool.getResource会从JedisPool实例池中返回一个可用的redis连接。分析源码可知JedisPool 继承了 r…

【git】使用ssh

前言 git之前一直使用https,因为很方便随时随地都可以用。最近把代码托管到GitHub,使用https就使用不了。后面听同事说GitHub使用ssh是没问题的,就想着尝试一下。 git ssh配置 设置用户名和邮箱 git config --global use.name username g…

FFmpeg常用命令讲解及实战二

文章目录 前言一、ffmpeg 常用命令1、ffmpeg 的封装转换2、ffmpeg 的编转码3、ffmpeg 的基本编转码原理 二、ffprobe 常用参数1、show_format2、show_frames3、show_streams4、print_format5、select_streams 三、ffplay 的常用命令1、ffplay 常用参数2、ffplay 高级参数3、ffp…

教你看现货黄金实时报价

现货黄金投资市场上的交易软件众多,很多人不知道选择什么软件好,但选择主流软件MT4,基本就可以满足投资者不同的需求。本文为大家讲讲,为什么有那么多的投资者,都选择通过MT4获取实时的行情报价。 现货黄金市场波动激烈…

什么是网络爬虫技术?它的重要用途有哪些?

网络爬虫(Web Crawler)是一种自动化的网页浏览程序,能够根据一定的规则和算法,从互联网上抓取和收集数据。网络爬虫技术是随着互联网的发展而逐渐成熟的一种技术,它在搜索引擎、数据挖掘、信息处理等领域发挥着越来越重…

【MySQL】子查询

文章目录 子查询IN运算符子查询 VS 连接ALL关键字ANY关键字相关子查询 !EXISTS运算符select子句中的子查询from子句中的子查询 子查询 获取价格大于id为3的货物的商品 用到了内查询,获取id为3的商品的单价,把结构传给外查询 在where子句中编写子查询&am…

导数、方向导数、梯度方向、梯度

导数:自变量改变一定量时(大于或小于0),因变量改变多少 方向导数:限定在某一个方向上,自变量改变一定量时(大于0),因变量改变多少 梯度方向:方向导数最大的…

Java实现王者荣耀小游戏

主要功能 键盘W,A,S,D键:控制玩家上下左右移动。按钮一:控制英雄发射一个矩形攻击红方小兵。按钮控制英雄发射魅惑技能,伤害小兵并让小兵停止移动。技能三:攻击多个敌人并让小兵停止移动。普攻:对小兵造成基础伤害。小…

2023年最新PyCharm环境搭建教程(含Python下载安装)

文章目录 写在前面PythonPython简介Python生态圈Python下载安装 PyCharmPyCharm简介PyCharm下载安装PyCharm环境搭建 写在后面 写在前面 最近博主收到了好多小伙伴的吐槽称不会下载安装python,博主听到后非常的扎心,经过博主几天的熬夜加班,…

网络安全如何自学?

1.网络安全是什么 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高; 二、则是发展相对成熟…

Nginx环境搭建:安装与卸载

目录 一、卸载 二、安装 注:如果直接使用yum安装nginx,则默认安装路径为:/usr/share/nginx/ 下面这种方式我们是指定了安装目录 一、卸载 因为我之前的虚拟机上面已经有了nginx服务,所以这里可以先介绍一下nginx的卸载方法&a…

靠这份求职指南找工作,稳了!

大家好,我是鱼皮。为了帮助朋友们更好的准备秋招,我们精心汇总整理了 编程导航星球 内鱼友反馈的 200 多个高频求职问题和 150 多篇面经、以及最新秋招企业投递信息表,解答大家的求职困惑。 一、最新秋招投递信息表 目前已汇总整理了 600 多家…

佳易王羽毛球馆计时计费软件灯控系统安装教程

佳易王羽毛球馆计时计费软件灯控系统安装教程 佳易王羽毛球馆计时计费软件,点击开始计时的时候,自动打开灯,结账后自动关闭灯。 因为场馆每一场地的灯功率都很大,需要加装交流接触器。这个由专业电工施工。 1、计时计费功能 &…

【iOS】数据持久化(一)之Plist文件、Preference(NSUserDefaults类)

目录 什么是Plist文件?plist可以存储哪些数据类型plist文件数据的读取与存储 Perference(NSUserDefaults)使用方法registerDefaults: 方法的使用 什么是Plist文件? Plist文件(属性列表)是将某些特定的类&a…

MG-HSF

作者未提供代码

“下一代云”白皮书发布:PaaS成为核心增长动力,腾讯云市场份额第二

“市场需求进一步向PaaS和SaaS层进发,使之成为公有云服务市场增长的主要动力。”11月22日,全球领先的IT研究和咨询公司国际数据公司(IDC)联合腾讯云发布“下一代云”白皮书——《聚焦平台能力,支撑智能化业务发展》指出…

python -opencv 图像锐化

python -opencv 图像锐化 图像锐化其实,是一种增强图片对比度的技术,我们可以通过计算图像的导数,把导数绝对值数值大于零的数值加回原图像,通过这种方法,可以增强图像的对比度。 实现代码如下: import c…

前缀树及其实现解析

前缀树 前缀树:又称单词查找树或键树,是一种哈希树的变种。 典型应用是用于统计和排序大量的字符串(但不仅限于字符串) 利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较。 将一组字符串数组放入…

P8599 [蓝桥杯 2013 省 B] 带分数(dfs+全排列+断点判断)

思路&#xff1a;1.深度枚举所有排列情况 2.设置为每个排列设置两个断点&#xff0c;分为三部分&#xff1a;a,b,c 3.转换为乘法判断条件&#xff0c;满足加一 代码如下&#xff1a;&#xff08;可用next_permutation全排列函数代替dfs&#xff09; #include<iostream>…

2016年全国硕士研究生入学统一考试管理类专业学位联考数学试题——解析版

文章目录 2016 级考研管理类联考数学真题一、问题求解&#xff08;本大题共 15 小题&#xff0c;每小题 3 分&#xff0c;共 45 分&#xff09;下列每题给出 5 个选项中&#xff0c;只有一个是符合要求的&#xff0c;请在答题卡上将所选择的字母涂黑。真题&#xff08;2016-01&…