数据处理方式,线程与进程,多任务,Spark与MR的区别

目录

数据处理的方式有哪些

单机数据处理

集群数据处理

分布式计算框架

MapReduce

ApplicationMaster

Spark分布式计算类别

进程与线程的区别

进程是计算时分配资源的最小单位

线程是执行计算任务的最小任务

多进程的执行效率没有多线程的执行效率高

多任务

Spark和MapReduce的区别

处理速度

实现方式

容错机制

调度


数据处理的方式有哪些

单机数据处理

依赖单个计算机的资源,处理的数据量较少,当数据量过大时,无法执行

集群数据处理

采用分布式技术,借助分布式服务实现海量数据处理

  • 分布式存储 HDFS : 主-NameNode 从-DataNode
  • 分布式资源调度 Yarn : 主-ResourceManager 从-NodeManager

分布式计算框架

MapReduce

  • 需要开发人员编写计算代码
  • MapReduce采用的是多任务方式(进程)进行分布式计算,每个计算任务运行在不同的服务器上
  • MapReduce包含Map和Reduce两个部分,两个部分分别以进程的方式运行
  • Map运行的数量由谁决定?
    • 默认情况下,split切割的数据会给到Map,而split默认切割一个块的的数据,所以,一个块对应一个map
  • Reduce运行数量?
    • 默认情况下,根据计算的数据量自动决定产生多少个reduce
    • hive在进行计算时,可以通过set进行设置
    • 指定的reduce个数决定了分区数 ,分区数和reudce个数是一致的

ApplicationMaster

ApplicationMaster管理MapReduce的计算

Spark分布式计算类别

spark有很多部署方式,不同的部署方式决定spark计算时的资源调度方式

  • Local模式 使用单机资源
  • 使用master参数指定资源调度方式 默认 loca
  • standalone 使用spark自带的资源调度
  • yarn 使用hadoop的资源调度

进程与线程的区别

进程是计算时分配资源的最小单位

  • 如果要执行一个计算任务,是按照进程分配资源
  • 运行时,需要先创建进程,一个进程就有一份资源

线程是执行计算任务的最小任务

  • 线程依赖进程的资源,没有进程就没有线程
  • 默认情况下一个进程中包含一个线程,使用线程执行任务

多进程的执行效率没有多线程的执行效率高

  • 创建进程资源需要花费时间
  • spark的执行速度比Mapreduce的速度快

多任务

  • 可以通过多任务实现多个计算机任务同时执行
  • 多任务可以通过进程实现多个任务,也可以多个线程实现

Spark和MapReduce的区别

处理速度

MapReduce只要是基于磁盘计算,将数据存储在HDFS上,并在计算工程中频繁读写磁盘.

Spark是支持内存计算,当内存够大,可以比MapReduce快100倍

实现方式

MapReduce 采用的是多进程方式实现多任务计算,提升计算效率

Spark 采用的多线程方式实现多任务,提升计算效率

容错机制

MapReduce 通过在HDFS上存储中间数据来实现容错

Spark通过RDD的血统机制来实现容错,如果某个节点失败,可以从血统信息重新计算丢失的数据.

调度

MapReduce使用Hadoop的YARN作为资源调度器

Spark有自己的调度器,可以更高效的管理资源和任务

相关推荐
Q26433650236 小时前
【有源码】基于Python与Spark的火锅店数据可视化分析系统-基于机器学习的火锅店综合竞争力评估与可视化分析-基于用户画像聚类的火锅店市场细分与可视化研究
大数据·hadoop·python·机器学习·数据分析·spark·毕业设计
潘达斯奈基~7 小时前
spark性能优化1:通过依赖关系重组优化Spark性能:宽窄依赖集中处理实践
大数据·性能优化·spark
蒙特卡洛的随机游走1 天前
Spark核心数据(RDD、DataFrame 和 Dataset)
大数据·分布式·spark
蒙特卡洛的随机游走1 天前
Spark的宽依赖与窄依赖
大数据·前端·spark
Lansonli1 天前
大数据Spark(六十九):Transformation转换算子intersection和subtract使用案例
大数据·分布式·spark
励志成为糕手1 天前
宽依赖的代价:Spark 与 MapReduce Shuffle 的数据重分布对比
大数据·spark·mapreduce·分布式计算·sortshuffle
weixin_525936332 天前
部分Spark SQL编程要点
大数据·python·sql·spark
智海观潮2 天前
学好Spark必须要掌握的Scala技术点
大数据·spark·scala
数智顾问3 天前
破解 Shuffle 阻塞:Spark RDD 宽窄依赖在实时特征工程中的实战与未来
大数据·分布式·spark
想ai抽3 天前
吃透大数据算法-算法地图(备用)
大数据·数据库·spark