基本概念介绍
首先介绍一下spark中常见的基本概念:
-
RDD:弹性分布式数据集的简称,是一个分布式对象集合,「本质上是一个只读的分区记录集合。不能直接修改,只能通过一定的转换操作(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(&
更多推荐
PySpark基本入门(附python代码示例)
发布评论