Spark基本概念

Spark基本概念Spark核心组件Driver将用户程序转化为作业(job) 在Executor之间调度任务(task) 跟踪Executor的执行情况 通过UI展示查询运行情况ExecutorSparkExecutor是集群中工作节点(Worker)中的一个JVM进程,负责在Spark作业中运行具体任务(Task),任务彼此之间相互独立。 负责运行组成Spark应用的任务,并将结果返回给驱动器进程 它们通过自身的块管理器(BlockManager)为用户程序中要求缓存的RDD提供…

大家好,欢迎来到IT知识分享网。

Spark基本概念

Spark核心组件

Driver

  • 将用户程序转化为作业(job)
  • 在Executor之间调度任务(task)
  • 跟踪Executor的执行情况
  • 通过UI展示查询运行情况

 Executor

  • Spark Executor是集群中工作节点(Worker)中的一个JVM进程,负责在 Spark 作业中运行具体任务(Task),任务彼此之间相互独立。
  • 负责运行组成Spark应用的任务,并将结果返回给驱动器进程
  • 它们通过自身的块管理器(Block Manager)为用户程序中要求缓存的 RDD 提供内存式存储。RDD 是直接缓存在Executor进程内的,因此任务可以在运行时充分利用缓存数据加速运算。

 并行度(Parallelism)

在分布式计算框架中一般都是多个任务同时执行,由于任务分布在不同的计算节点进行计算,所以能够真正地实现多任务并行执行,记住,这里是并行,而不是并发。这里我们将整个集群并行执行任务的数量称之为并行度。

提交流程

Spark基本概念

 

Spark核心编程

三大数据结构分别是:

  • RDD : 弹性分布式数据集
  • 累加器:分布式共享只写变量
  • 广播变量:分布式共享只读变量

RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据处理模型。

  • 分区列表

RDD数据结构中存在分区列表,用于执行任务时并行计算,是实现分布式计算的重要属性。

  • 分区计算函数

Spark在计算时,是使用分区函数对每一个分区进行计算

  • RDD之间的依赖关系

RDD是计算模型的封装,当需求中需要将多个计算模型进行组合时,就需要将多个RDD建立依赖关系

  • 分区器(可选)

当数据为KV类型数据时,可以通过设定分区器自定义数据的分区

  • 首选位置(可选)

计算数据时,可以根据计算节点的状态选择不同的节点位置进行计算

 RDD创建

Spark中创建RDD的创建方式可以分为四种:

1)       从集合(内存)中创建RDD

从集合中创建RDD,Spark主要提供了两个方法:parallelize和makeRDD

2)       从外部存储(文件)创建RDD

由外部存储系统的数据集创建RDD包括:本地的文件系统,所有Hadoop支持的数据集,比如HDFS、HBase等。

3)       从其他RDD创建 不常用

主要是通过一个RDD运算完后,再产生新的RDD。详情请参考后续章节

4)       直接创建RDD(new) 不常用

使用new的方式直接构造RDD,一般由Spark框架自身使用。

RDD转换算子

RDD 中的所有转换都是延迟加载的,也就是说,它们并不会直接计算结果。

RDD根据数据处理方式的不同将算子整体上分为Value类型、双Value类型和Key-Value类型

map,filter,flatMap,mapPartitions,mapPartitonsWithIndex,sample,takeSample,union,intersection,distinct,partitionBy,reduceByKey,groupByKey,combinByKey,aggregateByKey,foldByKey,sortByKey,sortBy,join,cogroup,cartesian,pipe,coalesce,repartition,repartitionAndSortWithinPartitons,glom,mapValues,subtract

 RDD行动算子

  • 数据运算类,主要用于触发RDD计算,并得到计算结果返回给Spark程序或Shell界面;
  • 数据存储类,用于触发RDD计算后,将结果保存到外部存储系统中,如HDFS文件系统或数据库

aggregate、collect、count、first、foreach、reduce、take、takeOrdered、takeSample、saveAsObjectFile、saveAsTextFile

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/15539.html

(0)
上一篇 2023-12-20 08:45
下一篇 2024-02-24 14:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信