RDD基本概念
介绍
RDD(Resilient Distributed Dataset,弹性分布式数据集)是Apache Spark的核心数据结构。它是一个不可变的、分布式的对象集合,可以在集群中进行并行操作。RDD的设计目标是提供一种高效、容错的方式来处理大规模数据集。
RDD的主要特性包括:
- 不可变性(Immutable):一旦创建,RDD的内容不能被修改。如果需要修改,可以通过转换操作生成一个新的RDD。
- 分布式(Distributed):RDD的数据分布在集群的多个节点上,允许并行处理。
- 容错性(Fault-tolerant):RDD通过记录其转换操作的“血统”(lineage)来实现容错。如果某个分区的数据丢失,可以通过血统信息重新计算。
RDD的创建
RDD可以通过多种方式创建,最常见的方式是从外部数据源(如HDFS、本地文件系统)加载数据,或者通过并行化一个已有的集合。
从集合创建RDD
以下是一个从集合创建RDD的示例:
from pyspark import SparkContext
# 创建SparkContext对象
sc = SparkContext("local", "RDD Example")
# 从集合创建RDD
data = [1, 2, 3, 4, 5]
rdd = sc.parallelize(data)
# 输出RDD内容
print(rdd.collect())
输出:
[1, 2, 3, 4, 5]