数据处理方式,线程与进程,多任务,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有自己的调度器,可以更高效的管理资源和任务

相关推荐
贝塔西塔2 天前
PySpark中python环境打包和JAR包依赖
大数据·开发语言·python·spark·jar·pyspark
抛砖者3 天前
hive/spark sql中unix_timestamp 函数的坑以及时间戳相关的转换
hive·sql·spark
isNotNullX4 天前
数据中台架构解析:湖仓一体的实战设计
java·大数据·数据库·架构·spark
暗影八度7 天前
Spark流水线数据质量检查组件
大数据·分布式·spark
涤生大数据7 天前
Apache Spark 4.0:将大数据分析提升到新的水平
数据分析·spark·apache·数据开发
xufwind8 天前
spark standlone 集群离线安装
大数据·分布式·spark
大数据CLUB8 天前
基于spark的奥运会奖牌变化数据分析
大数据·hadoop·数据分析·spark
华子w9089258598 天前
基于 Python Django 和 Spark 的电力能耗数据分析系统设计与实现7000字论文实现
python·spark·django
小新学习屋9 天前
Spark从入门到熟悉(篇三)
大数据·分布式·spark