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