前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spark-0.Spark和Hadoop

Spark-0.Spark和Hadoop

作者头像
悠扬前奏
发布2019-05-29 17:07:32
4980
发布2019-05-29 17:07:32
举报

1. Spark在Hadoop生态体系中的作用

  • Headoop生态体系:

  • hdfs:文件存储
  • zookeeper:节点协调
  • mapreduce/hive:计算,其中hive是为了解决mapreduce编程复杂的问题
  • hbase:实时增删改查
  • storm:流处理
  • mahout :机器学习
  • 其他工具

而Spark的出现就是为了解决MapReduce计算缓慢的问题:

  1. Spark 需要替换掉Hadoop生态体系中计算部分: 1.1 能计算实施批处理 mapreduce RDD 1.2 交互式查询 hbase - Spark SQL 1.3 流式处理 storm - Spark streaming 1.4 图计算 Spark GraphX 1.5 机器学习 mahout -MLlib 1.6 科学计算,数据分析 SparkR
  2. 对于Hadoop生态体系中的其他成员保留: 2.1 继续使用zookeeper管理节点 2.2 继续使用HDFS,HBase作为数据存储功能

Spark在Hadoop生态体系中的作用

2. Spark相对于Hadoop做的优化

2.1 减少磁盘IO

  • MapReduce:基于磁盘(所有计算结果都会去到磁盘),对于多个MapRuduce合作,会造成平凡的磁盘IO
  • Spark:基于内存,所有的Task计算结果都尽量放在内存

2.2 增加并行度

  • MapReduce:启动的MapTask和ReduceTake是一个JVM进程,默认情况下是一个Task一个进程
  • Spark:ShuffleMapTask和ResultTask使用的是一个线程

2.3 避免重复计算

  • Spark可以把数据持久化到内存中,以供其他Task使用。

2.4可选的Shuffle和排序

  • 可选的shuffle:
    • Map Reduce提供的是一个通用的shuffle的策略:1. 如果设置了Combiner执行Combiner;2. 如果设置的Reduce Task个数超过一, 那么Partitioner就会执行数据的分区;3. 如果有Reduce阶段的话,执行Sorter数据排序。
    • Spark提供了四种shuffle策略,分别对应不同的需求场景:Hash Shuffle,SortShuffle等
  • 可选的排序:
    • MapReduc:如果有Reduce阶段的话,那么Sorter的数据排序就一定会执行
    • Spark:用户想指定排序就排序,否则不排序

2.5 灵活的内存管理策略

Spark可以对不同阶段,不同组建,对内存灵活配置。

  • MapReduce:MapTask JVM线程在启动的时候指定了内存的最大使用量。
  • Spark:worker(从节点)启动了多个executor,每个executor并发运行了很多个线程thread,每个线程thread执行一个任务。而且Spark的任务线程,除了能使用JVM的内存之外,还可以使用操作系统的内存。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.03.12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. Spark在Hadoop生态体系中的作用
  • 2. Spark相对于Hadoop做的优化
    • 2.1 减少磁盘IO
      • 2.2 增加并行度
        • 2.3 避免重复计算
          • 2.4可选的Shuffle和排序
            • 2.5 灵活的内存管理策略
            相关产品与服务
            文件存储
            文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档