spark和mapreduce的区别

spark和mapreduced 的区别
map的时候处理的时候要落地磁盘 每一步都会落地磁盘 reduced端去拉去的话 基于磁盘的迭代
spark是直接再内存中进行处理 dag 执行引擎是一个job的优化 将一个job话成很多快 分成多个task去跑任务 读取数据来源比喻亚马逊的s3 和hbase很广运行模式也有很多
spark项目一般java 和scala 来写 python r 但是弊端是 python有很多java和scala的方法得自己写 没有 所以常用的就是java和scala
yarn的主节点交rsmanger 从节点nodemanger 管理任务的是aplicationmaster
1.x中是jobtraker 2.x中引入了yarn mesos也是元调度框架在国外用的比较多 每个快是128m 数据来源可以是hdfs 9083mestore端口可以找到hive中的元数据hive不支持同事多个用户去连接mysql是支持的底层是mapreducejob
storm 更多的是想sparkstreaming去转 他不是说进来一条数据处理一条可以认为的控制 可以小到storm的微处理大到批处理 streaming 我可以拿过去一天和 过去一个月的数据就比较多了处理起来逻辑就复杂了 进行处理 spark的主件基本底层都是rdd sparkcore里面主要来做数据分析 etl
sparksql 底层解析的是sparksql 而hive的是mapreducejob 一个基于内存一个是磁盘

个人浅见 不足之处请多指正

原文地址:https://www.cnblogs.com/Mr--zhao/p/11311760.html