美文网首页
Spark简介(一)

Spark简介(一)

作者: 徐卜灵 | 来源:发表于2019-01-20 14:59 被阅读0次

    Spark发展历程

    • 2009年,最初由美国加州伯克利大学大学(UCBerkeley)的AMP(Algorithm,Machines,People)实验室2009年开发。
      基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序。
    • 2013年加入Apache孵化器项目后,迅猛发展。
      目前是Apache软件基金会最重要的三大分布式计算系统开源项目之一(Hadoop、Spark、Storm)
    • 2014年,Spark打破Hadoop保持的基准排序。
      Spark使用206个节点23分钟内完成100TB数据的排序。
      Hadoop使用2000个节点72分钟内完成同样数据的排序。

    Spark的主要特点

    • 运行速度快
    • 易使用
    • 通用性
    • 运行模式多样

    Spark相对于Hadoop的优势

    Hadoop的缺陷

    • 表达能力有限。只有Map和Reduce两个操作。
    • 延迟高。

    Spark的优点

    • 表达能力扩展,处理MapReduce,还提供了多种数据集操作类型。编程模型更灵活。
    • spark提供了内存计算,中间结果直接放到内存中,更高的迭代运算效率。
    • 基于DAG的任务调度执行机制,由于MapReduce的迭代执行机制。

    Spark生态系统

    Spark的生态系统主要包含了Spark Core、Spark SQL、Spark Streaming、MLLib和GraphX 等组件,各个组件的具体功能如下:

    • Spark Core:Spark Core包含Spark的基本功能,如内存计算、任务调度、部署模式、故障恢复、存储管理等。Spark建立在统一的抽象RDD之上,使其可以以基本一致的方式应对不同的大数据处理场景;通常所说的Apache Spark,就是指Spark Core;
    • Spark SQL:Spark SQL允许开发人员直接处理RDD,同时也可查询Hive、HBase等外部数据源。Spark SQL的一个重要特点是其能够统一处理关系表和RDD,使得开发人员可以轻松地使用SQL命令进行查询,并进行更复杂的数据分析;
    • Spark Streaming:Spark Streaming支持高吞吐量、可容错处理的实时流数据处理,其核心思路是将流式计算分解成一系列短小的批处理作业。Spark Streaming支持多种数据输入源,如Kafka、Flume和TCP套接字等;
    • MLlib(机器学习):MLlib提供了常用机器学习算法的实现,包括聚类、分类、回归、协同过滤等,降低了机器学习的门槛,开发人员只要具备一定的理论知识就能进行机器学习的工作;
    • GraphX(图计算):GraphX是Spark中用于图计算的API,可认为是Pregel在Spark上的重写及优化,Graphx性能良好,拥有丰富的功能和运算符,能在海量数据上自如地运行复杂的图算法。
      image.png
      参考:http://dblab.xmu.edu.cn/blog/1710-2/

    相关文章

      网友评论

          本文标题:Spark简介(一)

          本文链接:https://www.haomeiwen.com/subject/mtmxjqtx.html