首先介绍一下spark中常见的基本概念:
RDD:d性分布式数据集的简称,是一个分布式对象集合,「本质上是一个只读的分区记录集合。不能直接修改,只能通过一定的转换 *** 作(map, reduce, join, group by)来创建新的RDD。」
DAG:有向无环图,反应了RDD之间的依赖关系。
Executor:一个进程,负责运行任务。
Application:用户编写的spark应用程序。
Task:运行在Excutor上的工作单元。
Job:一个job包含多个RDD以及对应的RDD上的各种 *** 作。
Stage:作业的基本调度单位。一个作业会被分为多组Task,每组任务称为一个stage。
其中,RDD是一种高度受限的内存模型,一次只能对RDD全集进行修改。听完上述说明,大家可能理解起来很抽象,接下来我将介绍RDD编程模型,并通过程序例子来说明,方便大家理解。
RDD编程例子1. 从文件系统中加载数据并转化成RDD格式
下面的例程可以将文本文件转化成RDD数据格式读入,便于Spark对RDD数据并行处理。
from pyspark import SparkConf, SparkContext sc = SparkContext() # 可以通过sc.textFiles来将text文件转化成RDD格式的数据。 # 如果是本地文件, 要加上 "file:///" lines = sc.textFiles(&
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)