PySpark中的RDD创建
【课程性质:PySpark数据处理】
文章目录
1. 实验目标
- 学习使用PySpark创建RDD
- 了解PySpark中的数据存储读取模式
2. 本次实验主要使用的 P y t h o n Python Python 库
名称 | 版本 | 简介 |
---|---|---|
r e q u e s t s requests requests | 2.20.0 2.20.0 2.20.0 | 线性代数 |
P a n d a s Pandas Pandas | 0.25.0 0.25.0 0.25.0 | 数据分析 |
P y S p a r k PySpark PySpark | 2.4.3 2.4.3 2.4.3 | 大数据处理 |
M a t p l o t l i b Matplotlib Matplotlib | 3.0.1 3.0.1 3.0.1 | 数据可视化 |
3. 适用的对象
- 本课程假设您已经学习了 P y t h o n Python Python 基础,具备数据可视化基础
- 学习对象:本科学生、研究生、人工智能、算法相关研究者、开发者
- 大数据分析与人工智能
4. 研究流程图
5. 实验步骤
步骤1 安装并引入必要的库
# 安装第三方库
!pip install pyspark==2.4.5
# 获取数据集
import zipfile
with zipfile.ZipFile('/resources/jupyter/pyspark/pyspark_dataset_kdd.zip') as z:
z.extractall()
在本实验中,我们将介绍两种不同的方法来将数据导入基本的Spark数据结构,即Resilient Distributed Dataset或RDD**。RDD是元素的分布式集合。Spark中的所有工作都表示为创建新的RDDs,转换现有的RDDs或调用RDDs上的操作来计算结果。Spark自动将RDDs中包含的数据分布到集群中,并并行化对其执行的操作。
获取数据文件
1999年KDD杯比赛数据集的详细描述KDDCUP1999。
在本实验中,我们将使用为1999年KDD杯提供的缩减数据集(10%),其中包含近50万个网络交互。该文件作为Gzip文件提供,我们将在下载到本地。
步骤2 从文件创建RDD
创建RDD最常见的方法是从文件中加载它。注意,Spark的“textFile”可以直接处理压缩文件。
data_file = "./kddcup.data_10_percent.gz"
raw_data = sc.textFile(data_file)
现在我们将数据文件加载到 raw_data
RDD中。
在不涉及 Spark transformation 和 actions 的情况下,我们可以做的最基本的检查RDD内容是否正确的事情是count()
从文件加载到RDD中的数据行数。
raw_data.count()
我们还可以检查数据中的前几个条目。
raw_data.take(5)
在接下来的实验中,我们将使用这些原始数据来了解不同的Spark转换和操作。****
步骤3 使用 parallelize
创建RDD
创建RDD的另一种方法是并行化已经存在的列表。
a = range(100)
data = sc.parallelize(a)
和前面一样,我们可以count()
RDD中的元素数量。
data.count()
和上面一样,我们可以访问RDD上的前几个元素。
data.take(5)