Spark学习笔记(一)

概念:

Spark是加州大学伯克利分校AMP实验室,开发的通用内存并行计算框架。

支持用scala、java和Python等语言编写应用程序。相较于Hdoop,往往有更好的运行效率。

Spark包括了Spark Core, Spark SQL, SparkStreaming,MLlib和Graphx等组件。

  • Spark Core:内存计算框架
  • Spark SQL:及时查询
  • SparkStreaming:实时应用的处理
  • MLlib:机器学习
  • Graphx:图形处理

Spark运行模式:


Local


本地模式


用于本地开发测试,本地还分为local单线程和local-cluster多线程。


On yarn


集群模式


运行在yarn框架之上,由yarn负责资源管理,Spark负责任务调度和计算。


Standalone


集群模式


典型的Mater-slave模式,Spark自带的模式。

On yarn模式需要配置hadoop环境。

RDD:

众所周知,Spark的核心是RDD。RDD(Resilent Distributed Dataset)弹性分布式数据集,是一个容错的,并行的数据结构。可以让用户显式地将数据存储到磁盘和内存中,并能控制数据的分区。同时,RDD还提供了一组丰富的操作来操作这些数据。

RDD实现了基于Lineage的容错机制。RDD的转换关系,构成了compute chain,可以把这个compute chain认为是RDD之间演化的Lineage。

当一个RDD的数据丢失之后,可以从其父RDD重新计算得到。如果父RDD也不可用,则再从上一级开始计算。

简单的介绍下RDD的依赖关系:

  • 窄依赖(narrow dependcies):一个子RDD只依赖一个父RDD。
  • 宽依赖(wide dependcies):一个子RDD依赖于多个父RDD。

当一个RDD需要依据一个lineage进行重算时,由于窄依赖的关系更为简单,因而回复该RDD的效率更高。相反,对于宽依赖的RDD而言需要更多的时间用于恢复。

虽然lineage可用于错误后RDD的恢复,但对于很长的lineage的RDD来说,这样的恢复耗时较长。因此,将某些RDD进行检查点操作(Checkpoint)保存到稳定存储上,是有帮助的。

Transformation和Action:

算子是RDD中定义的函数,可以对RDD中的数据进行转换和操作。

RDD有两种操作算子:

  • Transformation(转换)
  • Action(执行)

Transformation:结果是得到一个新的RDD。比如从数据源生成一个RDD,或是由一个RDD生成另一个RDD。

Action:得到一个值或者是一个计算结果(结果也可以是一个RDD,例如使用col lec算子)。

所有的Transfomation采用的均为懒策略。即当一个Transfomation被提交时,不会立即进行计算。计算只有在action被提交时才触发。

下图描述了Spark在运行转换中通过算子对RDD进行转换:

时间: 2024-12-06 04:40:46

Spark学习笔记(一)的相关文章

Spark学习笔记之SparkRDD

Spark学习笔记之SparkRDD 一.   基本概念 RDD(resilient distributed datasets)弹性分布式数据集. 来自于两方面 ①   内存集合和外部存储系统 ②   通过转换来自于其他RDD,如map,filter等 2.创建操作(creation operation):RDD的创建由SparkContext来负责. 3.转换操作(transformation operation):将一个RDD通过一定操作转换为另一个RDD. 4.控制操作(control o

spark学习笔记总结-spark入门资料精化

Spark学习笔记 Spark简介 spark 可以很容易和yarn结合,直接调用HDFS.Hbase上面的数据,和hadoop结合.配置很容易. spark发展迅猛,框架比hadoop更加灵活实用.减少了延时处理,提高性能效率实用灵活性.也可以与hadoop切实相互结合. spark核心部分分为RDD.Spark SQL.Spark Streaming.MLlib.GraphX.Spark R等核心组件解决了很多的大数据问题,其完美的框架日受欢迎.其相应的生态环境包括zepplin等可视化方面

Spark学习笔记——读写Hbase

1.首先在Hbase中建立一张表,名字为student 参考 Hbase学习笔记--基本CRUD操作 2.

Spark学习笔记总结-入门资料精化

Spark简介 spark 可以很容易和yarn结合,直接调用HDFS.Hbase上面的数据,和hadoop结合.配置很容易. spark发展迅猛,框架比hadoop更加灵活实用.减少了延时处理,提高性能效率实用灵活性.也可以与hadoop切实相互结合. spark核心部分分为RDD.Spark SQL.Spark Streaming.MLlib.GraphX.Spark R等核心组件解决了很多的大数据问题,其完美的框架日受欢迎.其相应的生态环境包括zepplin等可视化方面,正日益壮大.大型公

Spark学习笔记

Spark 阅读官方文档 Spark Quick Start Spark Programming Guide Spark SQL, DataFrames and Datasets Guide Cluster Mode Overview Spark Standalone Mode 重要的概念:resilient distributed dataset (RDD), a collection of elements partitioned across the nodes of the cluste

Spark学习笔记0

自学Spark已经有一段时间,之前遇到了很多阻力,从Scala语法,基本概念,源码编译,环境部署,开发环境只能自己慢慢尝试,几乎是一步一个跟头.当还在痛苦的读着源码时候,发现spark的版本还在不断的升级,新的东西越来越多,让人应接不暇.偶然间发现51CTO的相关资源,希望共享给同时Spark的学习者们,避免他们再走我走过的弯路.也希望开始将自己学习Spark的过程记录下来. 王家林的第一个中国梦:免费为全社会培养100万名优秀的大数据从业人员! 您可以通过王家林老师的微信号1861008685

Spark学习笔记总结-超级经典总结

Spark简介 spark 可以很容易和yarn结合,直接调用HDFS.Hbase上面的数据,和hadoop结合.配置很容易. spark发展迅猛,框架比hadoop更加灵活实用.减少了延时处理,提高性能效率实用灵活性.也可以与hadoop切实相互结合. spark核心部分分为RDD.Spark SQL.Spark Streaming.MLlib.GraphX.Spark R等核心组件解决了很多的大数据问题,其完美的框架日受欢迎.其相应的生态环境包括zepplin等可视化方面,正日益壮大.大型公

Spark学习笔记1:Application,Driver,Job,Task,Stage理解

看了spark的原始论文和相关资料,对spark中的一些经常用到的术语学习了一下,记录下. 1,Application application(应用)其实就是用spark-submit提交到spark的程序.比方说spark examples中的计算pi的SparkPi.一个application通常包含三部分:从数据源(比方说HDFS)取数据形成RDD,通过RDD的transformation和action进行计算,将结果输出到console或者外部存储(比方说collect收集输出到cons

Spark学习笔记—01 Spark集群的安装

一.概述 关于Spark是什么.为什么学习Spark等等,在这就不说了,直接看这个:http://spark.apache.org, 我就直接说一下Spark的一些优势: 1.快 与Hadoop的MapReduce相比,Spark基于内存的运算要快100倍以上,基于硬盘的运算也要快10倍以上.Spark实现了高效的DAG执行引擎,可以通过基于内存来高效处理数据流. 2.易用 Spark支持Java.Python和Scala的API,还支持超过80种高级算法,使用户可以快速构建不同的应用.而且Sp

Spark学习笔记——手写数字识别

import org.apache.spark.ml.classification.RandomForestClassifier import org.apache.spark.ml.regression.RandomForestRegressor import org.apache.spark.mllib.classification.{LogisticRegressionWithLBFGS, NaiveBayes, SVMWithSGD} import org.apache.spark.ml