栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Spark基本概念

Spark基本概念

Spark核心组件

Driver

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

 Executor

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

 并行度(Parallelism)

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

提交流程

 

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/710173.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号