Spark学习系列一

1、Spark 是什么?

     Spark是一个快速的处理大规模数据的通用工具。它是一个基于内存计算框架

     包含核心组件-Spark Core、交互式查询-Spark SQL、准实时流式计算-Spark Streaming、机器学习-             Spark MLlib、图计       算-Spark GraphX

 

2、Spark产生的背景是什么?

     1)MapReduce局限性

      1、仅支持Map和Reduce两种操作

      2、MapReduce处理效率低:
         (1) Map阶段会将中间结果写入磁盘, Reduce阶段会将运算结果写入HDFS,多个MR任务之间通过HDFS交换数据
         (2) 任务调度和启动开销大
         (3) MapReduce无法充分利用内存
         (4) Map阶段和Reduce阶段都需要对运算结果进行排序

      3、MapReduce不适合批处理(如机器学习、 图计算等), 交互式处理(如数据挖掘)和流式处理(如日志分析)等

      4、MapReduce编程不够灵活

   2)处理数据的技术框架太杂太多        

         批处理:MapReduce、Hive、Pig

         流式计算:Storm

         交互式计算:presto,Impala

         能不能有一个能集大成者,把数据计算处理的天下统一?不然各种技术框架混战,不利于业界快速发展,开发维护学习成             本高。这时候需要一种集大成者出现,那就是Spark。

3、Spark框架长啥样?

    
 

  • Spark Core:包含Spark的基本功能;尤其是定义RDD的API、操作以及这两者上的动作。其他Spark的库都是构建在RDD和Spark Core之上的
  • Spark SQL:提供通过Apache Hive的SQL变体Hive查询语言(HiveQL)与Spark进行交互的API。每个数据库表被当做一个RDD,Spark SQL查询被转换为Spark操作。
  • Spark Streaming:对实时数据流进行处理和控制。Spark Streaming允许程序能够像普通RDD一样处理实时数据
  • MLlib:一个常用机器学习算法库,算法被实现为对RDD的Spark操作。这个库包含可扩展的学习算法,比如分类、回归等需要对大量数据集进行迭代的操作。
  • GraphX:控制图、并行图操作和计算的一组算法和工具的集合。GraphX扩展了RDD API,包含控制图、创建子图、访问路径上所有顶点的操作

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值