1. Spark概述

作者: 泊牧 | 来源:发表于2018-03-06 16:46 被阅读18次

    1.Spark介绍

    Spark,是一种通用的大数据计算框架。正如Hadoop的MapReduce、Hive引擎,以及Storm流式实时计算引擎。Spark是基于内存计算的框架,因此其速度是MapReduce、Hive的几倍甚至几十倍、上百倍。

    Spark Core:离线计算
    Spark SQL:交互式查询
    Spark Streaming:实时流计算
    Spark MLlib:机器学习
    Spark GraphX:图计算

    Spark主要用于大数据的计算,Hadoop主要用于大数据的存储(如HDFS、Hive、HBase等),以及资源调度(Yarn)。

    2.大数据架构体系概览

    大数据架构体系概览

    3.Spark VS MapReduce的计算模型

    Spark VS MapReduce的计算模型

    4.Spark整体架构

    Spark整体架构

    5.Spark的特点

    Spark的特点

    6.Spark SQL和Hive的关系

    Spark SQL和Hive的关系

    7.Spark Streaming和Storm的计算模型对比

    Spark Streaming和Storm的计算模型对比

    8. action(动作)和transform(转换)的理解

    action和transform是Dataset(Spark 2.1之前叫RDD)的两个非常重要的操作。
    action操作主要是直接从Dataset中获取值,如:

    //Scala
    scala> val tf = spark.read.textFile("readme.md")
    tf: org.apache.spark.sql.Dataset[String] = [value: string]
    
    scala> tf.count()  //计算items数量
    res0: Long = 126
    
    scala> tf.first()   //Dataset的首个item值
    res1: String = # Apache Spark
    

    代码中的count操作和first操作都是action操作,这些操作直接从Dataset中获取值。
    transform操作可以从一个Dataset转换到另一个Dataset,从而计算出另一个新的Dataset,如:

    //Scala
    val linesWithSpark = tf.filter(line => line.contains("Spark"))
    linesWithSpark : org.apache.spark.sql.Dataset[String] = [value: string]
    

    这里的linesWithSpark就是从tf转换过来的,一个新的Dataset。
    还可以通过调用函数,进行链式操作transform和action:

    //Scala
    scala> tf.filter(line => line.contains("Spark")).count()
    res3: Long = 15
    

    相关文章

      网友评论

        本文标题:1. Spark概述

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