2024年大数据领域的主流分布式计算框架有哪些

2024-06-16 21:44

本文主要是介绍2024年大数据领域的主流分布式计算框架有哪些,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Apache Spark

适用场景

以批处理闻名,有专门用于机器学习的相关类库进行复杂的计算,有SparkSQL可以进行简单的交互式查询,也可以使用DataSet,RDD,DataFrame进行复杂的ETL操作。

关键词

  • 处理数据量大
  • 批计算
  • 微批计算(可以理解成支持流计算)
  • 机器学习(丰富的类库)
  • SQL查询(操作简单)
  • 内存计算(计算效率高,相对MapReduce而言)
  • 内存开销大(通过SparkConf配置driver/executor参数,详见Spark内存管理模型,主要依赖于JVM进行内存回收)
  • 抽象出了RDD进行操作,开发相对简单,又可以写比SQL复杂的ETL操作

社区活跃程度:非常活跃

近一年,2023.6至2024.6,大约每周70个commit左右
在这里插入图片描述

Apache Flink

适用场景

具有高吞吐量、低延迟、容错性强等特点。比如实时告警系统,日志实时分析,金融交易异常检测。

关键词

  • 流计算(天生设计是为了进行流计算,不像Spark通过微批来实现流计算)
  • 事件驱动,响应快
  • 流批一体,通过统一的编程模型,可以实现开发一套代码,同时进行流处理、批处理
  • 数据集成,Flink支持多种数据源,如Kafka,HDFS,Cassandra,ElasticSearch

社区活跃程度:活跃

近一年,2023.6至2024.6,大约每周30个commit左右
在这里插入图片描述

Apache Storm

适用场景

具有高吞吐量、低延迟、容错性强等特点。比如实时告警系统,日志实时分析,金融交易异常检测。

关键词

  • 流计算,实时处理
  • 可靠性和容错性,节点故障自动重启和恢复任务
  • 水平扩展
  • 数据集成,支持多种数据源,如Kafka,HDFS,Cassandra

社区活跃程度:不活跃

近一年,2023.6至2024.6,大约每周不到10个commit
在这里插入图片描述

Apache Beam

适用场景

beam侧重点是一种编程模型,编写一次,可以运行在不同的流批引擎,有点像Flink提供的流批一体能力。减轻了开发人员学习各个引擎的特点,调优方法,让开发人员聚焦于业务逻辑。如果更侧重于性能,那毫不犹豫地应该选择具体的引擎比如Spark,Flink。但如果是为了更加通用的实现业务逻辑,可以使用Beam,避免将大量时间花费对各个引擎的学习。

关键词

  • 统一的编程模型:用于定义和执行大规模的数据处理任务。它旨在提供一种通用的编程接口,可以在不同的执行引擎上运行
  • 批处理和流处理:提供统一的编程模型来处理有界和无界的数据集。
  • 跨平台执行:Beam 的跨平台执行能力使得用户可以选择最适合其需求的执行引擎,并在不同执行引擎之间轻松迁移。
  • 窗口化和触发器:Beam 的窗口化和触发器机制使得处理无界数据流更加灵活和高效,适用于实时数据处理和分析。

社区活跃程度:活跃

近一年,2023.6至2024.6,大约每周50个commit
在这里插入图片描述

总结

就以上介绍的4个框架来说。
如果要进行机器学习,毫不犹豫地选择Spark。
如果不需要流计算,或者流计算要求不高,可以使用Spark,比Flink发展更成熟。
如果业务场景明确需要流计算(实时,低延迟,高吞吐量),毫不犹豫地选择Flink。
如果想聚焦业务逻辑,对性能要求不高,可以使用Beam。
Storm几乎可以说完全被Flink超越了,社区活跃程度Flink远超过Storm。从性能上来看,可以见美团技术写的这篇博客(https://tech.meituan.com/2017/11/17/flink-benchmark.html)该篇文章对Flink和Storm进行了性能测试,从不同场景,数据量进行了测试。如果没有历史包袱,从头选择流处理框架,可以毫不犹豫地选择Flink。

这篇关于2024年大数据领域的主流分布式计算框架有哪些的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1067633

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

使用SpringBoot整合Sharding Sphere实现数据脱敏的示例

《使用SpringBoot整合ShardingSphere实现数据脱敏的示例》ApacheShardingSphere数据脱敏模块,通过SQL拦截与改写实现敏感信息加密存储,解决手动处理繁琐及系统改... 目录痛点一:痛点二:脱敏配置Quick Start——Spring 显示配置:1.引入依赖2.创建脱敏

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

《Python数据分析与可视化的全面指南(从数据清洗到图表呈现)》Python是数据分析与可视化领域中最受欢迎的编程语言之一,凭借其丰富的库和工具,Python能够帮助我们快速处理、分析数据并生成高质... 目录一、数据采集与初步探索二、数据清洗的七种武器1. 缺失值处理策略2. 异常值检测与修正3. 数据

pandas实现数据concat拼接的示例代码

《pandas实现数据concat拼接的示例代码》pandas.concat用于合并DataFrame或Series,本文主要介绍了pandas实现数据concat拼接的示例代码,具有一定的参考价值,... 目录语法示例:使用pandas.concat合并数据默认的concat:参数axis=0,join=

C#代码实现解析WTGPS和BD数据

《C#代码实现解析WTGPS和BD数据》在现代的导航与定位应用中,准确解析GPS和北斗(BD)等卫星定位数据至关重要,本文将使用C#语言实现解析WTGPS和BD数据,需要的可以了解下... 目录一、代码结构概览1. 核心解析方法2. 位置信息解析3. 经纬度转换方法4. 日期和时间戳解析5. 辅助方法二、L

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键

解决mysql插入数据锁等待超时报错:Lock wait timeout exceeded;try restarting transaction

《解决mysql插入数据锁等待超时报错:Lockwaittimeoutexceeded;tryrestartingtransaction》:本文主要介绍解决mysql插入数据锁等待超时报... 目录报错信息解决办法1、数据库中执行如下sql2、再到 INNODB_TRX 事务表中查看总结报错信息Lock

使用C#删除Excel表格中的重复行数据的代码详解

《使用C#删除Excel表格中的重复行数据的代码详解》重复行是指在Excel表格中完全相同的多行数据,删除这些重复行至关重要,因为它们不仅会干扰数据分析,还可能导致错误的决策和结论,所以本文给大家介绍... 目录简介使用工具C# 删除Excel工作表中的重复行语法工作原理实现代码C# 删除指定Excel单元