当前位置: 首页 > article >正文

Hadoop vs Spark

Hadoop 和 Spark 都是apache基金会下、在大数据架构中广泛使用的开源框架,两个框架都各自有各自的开源技术生态系统,用于准备、处理、管理和分析大数据集。

Hadoop 生态系统由四个主要模块组成:

HDFS): Hadoop的数据存储系统,用于管理运行在普通硬件上的大型数据集,提供高吞吐量的数据访问和高容错性。

YARN : 集群资源管理器,它为应用程序安排任务并分配资源(例如 CPU 和内存)。

Hadoop MapReduce: 将大型数据处理任务拆分为小型任务,再将小型任务分布在不同的节点上运行;

Hadoop Common (Hadoop Core) : 其他三个模块所依赖的一组通用库和实用程序

Spark生态圈包括:

Spark Core: 底层执行引擎,用于调度和分派任务,协调I/O操作,内存管理等;

Spark SQL: 处理结构化数据;

Spark streaming:实时流处理引擎,Spark Streaming 从不同的数据源获取数据,并将其划分为微批处理以形成连续的流,将处理后的结果输出到HDFS、关系型数据库等;

机器学习库(MLlib) : 一组机器学习算法,以及用于特征选择和构建机器学习管道的工具;

GraphX: 提供图计算能力,支持交互式构建、修改和分析可伸缩的图形结构数据。

Spark 是基于 Hadoop  MapReduce 的增强。Spark 和 MapReduce 的主要区别在于,Spark 将中间结果保存在内存以提高处理速度,而 MapReduce 的中间结果保存在HDFS磁盘上。因此,对于较小的工作负载,Spark 的数据处理速度比 MapReduce 快。

此外,与 MapReduce 中的两阶段执行过程不同,Spark 创建了一个有向无环图(DAG)来调度任务并利用Hadoop 集群中节点的编排。这个任务跟踪过程支持容错,容错将记录的操作重新应用于来自以前状态的数据。

总结对比:

性能: Spark 更快,因为它使用内存而不是磁盘来保存中间结果。

成本: Hadoop 的运行成本较低,因为它依赖于普通磁盘存储进行数据处理;Spark 的运行成本更高,它依赖于内存进行实时数据处理,这需要使用大量的 RAM 做中转节点。

场景: Hadoop 适用于批处理和线性数据处理,spark适用于实时处理和处理实时非结构化数据流。

可伸缩性: 当数据量快速增长时,Hadoop 通过 HDFS快速扩展以满足需求。反过来,Spark 依赖于容错 HDFS 来处理大量数据。

安全性: Spark 通过共享秘密或事件日志来增强身份验证的安全性,而 Hadoop 使用多种身份验证和访问控制方法。综合来讲,Hadoop 更安全。 Spark可以通过与 Hadoop 集成以达到更高的安全级别。

机器学习(ML) : Spark更胜一筹,因为它包括 MLlib;它通过内存 进行ML 计算,还包括回归、聚类、评估等工具。

在实际应用中,spark能很好融入hadoop的生态圈,Spark 替代 Hadoop 中的 MapReduce 计算模型,存储大多仍然使用 HDFS,且使用YARN 实现资源调度管理。


http://www.kler.cn/news/290828.html

相关文章:

  • fpga图像处理实战-均值滤波
  • 从0开始学杂项 第八期:流量分析(2) 数据提取
  • Spring之整合Mybatis底层源码解析
  • 信息安全发展阶段与形式
  • 搜维尔科技:研究和使用Geomagic Touch X触觉反馈设备进行医疗模拟
  • 大数据Flink(一百一十二):Flink SQL作业快速入门
  • 【深度学习详解】Task3 实践方法论-分类任务实践 Datawhale X 李宏毅苹果书 AI夏令营
  • 第九届“创客中国”生成式人工智能中小企业创新创业大赛招商推介圆满落幕
  • Maven与Gradle差异
  • 突破教材,简单聊聊《文件系统》
  • 开源 AI 智能名片 O2O 商城小程序:引入淘汰机制,激发社交电商新活力
  • 电子设计-基础3-电感与二极管
  • 深入探讨MySQL的MVCC机制
  • QT5记录 QHBoxLayout ScrollArea导致QLabel重新计算位置导致内容显示不全
  • Hadoop 下载
  • ArcGIS展线/投线教程
  • 金仓 KES Plus 不充会员也好用
  • 探索C++编程技巧:计算两个字符串的最长公共子串
  • 计算机工具软件安装攻略:Visual Studio Code下载、安装和使用
  • yolo 3d车辆目标检测(教程+代码)
  • Elasticsearch 中的相关性和得分
  • 工厂模式和策略模式的区别
  • nanogpt怎么进行模型切片,以实现推理过程算力共享,切多头
  • Apache Ignite 在处理大规模数据时有哪些优势和局限性?
  • STM32(F103ZET6)第十九课:FreeRtos的移植和使用
  • 探索Ansible自动化运维:提高效率的关键工具
  • 13.4告警抑制实例
  • 前端相关笔记汇总
  • JMeter 安装使用
  • 【PyTorch][chapter 27][李宏毅深度学习][transformer-2]