美文网首页我爱编程大数据,机器学习,人工智能大数据
Spark入门教程(一) 初始Spark:概述、特点及其生态圈

Spark入门教程(一) 初始Spark:概述、特点及其生态圈

作者: 胖滚猪学编程 | 来源:发表于2018-02-19 09:39 被阅读0次

    概念


    引用Spark官网的定义:Apache Spark™ is a fast and general engine for large-scale data processing

    Spark是用于大规模数据处理的快速和通用的集群计算平台

    目前大数据处理的应用主要可以分为离线的海量数据处理(如用户画像、推荐系统),以及实时的数据流处理(天猫双十一实时大屏)。

    前者可以使用Hadoop MapReduce,后者可以使用Storm。

    而我们的Spark,既可以支持离线海量数据处理,又可以支持实时的数据流处理,并且还具有很多优势:快速、通用、兼容、强大的生态圈。

    优势


    (1)快速

    与Hadoop的MapReduce(计算完之后会将中间结果存储在磁盘)相比,Spark基于内存的运算要快100倍以上,基于硬盘的运算也要快10倍以上。Spark实现了高效的DAG执行引擎,可以通过基于内存来高效处理数据流。

    (2)通用

    Spark支持Java、Python和Scala的API,还支持超过80种高级算法,使用户可以快速构建不同的应用。而且Spark支持交互式的Python和Scala的shell,可以非常方便地在这些shell中使用Spark集群来验证解决问题的方法。

    (3)兼容

    Spark可以非常方便地与其他的开源产品进行融合。比如,Spark可以使用Hadoop的YARN作为它的资源管理和调度器,并且可以处理所有Hadoop支持的数据,包括HDFS、HBase等。

    Spark生态圈


    spark生态圈

    (1)Spark Core :实现Spark基本功能,如任务调度,内存管理,与存储系统交互,还包括对弹性分布式数据集RDD的API定义。 

    (2)Spark SQL :Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用。它将Spark SQL转换成RDD,然后提交到集群执行,执行效率非常快。 

    (3)Spark Streaming :是Spark提供的对实时数据进行流式计算的组件。如网页服务器日志等都是数据流,Spark Streaming提供了操作数据流的API。 

    (4)Mlib :提供了很多种机器学习算法,包括分类、回归、聚类、协同过滤等,还提供了模型评估,数据导入等额外支持的功能。 

    (5)GraphX: 是用于操作图(比如社交网络的朋友关系图)的程序库,可以进行并行的图计算。

    相关文章

      网友评论

        本文标题:Spark入门教程(一) 初始Spark:概述、特点及其生态圈

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