spark与mr的异同

南墨11个月前技术文章513

1.

MR:抽象层次低,需要使用手工代码来完成程序编写,使用上难以上手;

Spark:Spark 采用RDD 计算模型,简单容易上手。

2.

MR:只提供map 和reduce 两个操作,表达能力欠缺;

Spark:Spark 采用更加丰富的算子模型,包括map、flatmap、groupbykey、reducebykey 等;

3.

MR:一个job 只能包含map 和reduce 两个阶段,复杂的任务需要包含很多个job,这些job 之间的管理以来需要开发者自己进行管理;

Spark:Spark 中一个job 可以包含多个转换操作,在调度时可以生成多个stage,而且如果多个map 操作的分区不变,是可以放在同一个task 里面去执行;

4.

MR:中间结果存放在hdfs 中;

Spark:Spark 的中间结果一般存在内存中,只有当内存不够了,才会存入本地磁盘,而不是hdfs;

5.

MR:只有等到所有的map task 执行完毕后才能执行reduce task;

Spark:Spark 中分区相同的转换构成流水线在一个task 中执行,分区不同的需要进行shuffle 操作,被划分成不同的stage 需要等待前面的stage 执行完才能执行。

6.

MR:只适合batch 批处理,时延高,对于交互式处理和实时处理支持不够;

Spark:Spark streaming 可以将流拆成时间间隔的batch 进行处理,实时计算。


相关文章

Doris 介绍及使用场景

Doris 介绍及使用场景

Doris 介绍                    Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据...

压测实操--kafka-consumer压测方案

压测实操--kafka-consumer压测方案

环境信息:操作系统centos7.9,kafka版本为hdp集群中的2.0版本。Consumer相关参数使用Kafka自带的kafka-consumer-perf-test.sh脚本进行压测,该脚本参...

数据库连接异常问题排查

数据库连接异常问题排查

问题描述客户反馈应用端连接数据库异常,报错截图如下:“已超过了锁请求超时时段”。问题排查1、测试端口联通性从应用侧服务器上分别测试数据库服务端口联通性,检测服务正常监听2、数据库服务器重启同客户沟通优...

Linux SSSD同步大量AD用户缓慢

Linux SSSD同步大量AD用户缓慢

1、背景在使用AD + sssd (ad作为ldap)同步用户,其中AD中存在10000+ 用户,同步时,用户信息获取缓慢,导致cdh的namenode 的rpc 队列打高,服务不正常。id 用户达到...

数据湖技术之iceberg(六)Iceberg表数据组织与查询

数据湖技术之iceberg(六)Iceberg表数据组织与查询

1     Iceberg表数据组织与查询1) 下载avro-tools jar包由于后期需要查看avro文件内容,我们可以通过avro-tool.jar来查看...

Trino对接ldap

Tls 证书生成生成的证书分发到每个节点 #ip和主机名为**coordinator**的ip和主机名及对应的vipkeytool -genkeypair -validity 36500 -ext S...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。