PySpark tutorial 学习笔记2——RDD

PySpark的RDD是弹性分布式数据集,不可变且具有容错能力。主要操作包括转换和行动,如filter、map、reduce、join和cache。转换创建新RDD,而行动触发计算。示例展示了如何使用count、collect、foreach、filter、map和reduce等方法。join用于合并键值对,cache用于缓存RDD。
摘要由CSDN通过智能技术生成

3 PySpark RDD

    Resilient Distributed Datasets(RDD) 弹性分布式数据集。它们是在多个节点上运行和操作并且在集群上进行并行处理的元素。 RDD是不可变元素,这意味着一旦创建了RDD,就无法对其进行更改。 RDD也具有容错能力,因此在发生任何故障时,它们会自动恢复。 可以在这些RDD上应用多个操作来完成某项任务。对开发者而言,RDD可以看作是Spark的一个对象,它本身运行于内存中,如读文件是一个RDD,对文件计算是一个RDD,结果集也是一个RDD ,不同的分片、 数据之间的依赖 、key-value类型的map数据都可以看做RDD。

要对这些RDD进行操作,有两种方法 :

转换 - 这些操作应用于RDD以创建新的RDD。 Filter,groupBy和map都是转换。

操作 - 这些是应用于RDD的操作,它指示Spark执行计算并将结果发送回驱动程序。

要在PySpark中应用任何操作,我们首先需要创建一个PySpark RDD。 以下代码块具有PySpark RDD类的详细信息 -

class pyspark.RDD (
   jrdd, 
   ctx, 
   jrdd_deserializer = AutoBatchedSerializer(PickleSerializer())
)

让我们看看如何使用PySpark运行一些基本操作。 Python文件中的以下代码创建RDD,其中存储了一组单词。

words = sc.parallelize (
   ["scala", 
   "java", 
   "hadoop", 
   "spark", 
   "akka",
   "spark vs hadoop", 
   "pyspark",
   "pyspark and spark"]
)

count()

----------------------------------------count.py---------------------------------------
from pyspark import SparkContext
sc = SparkContext("local", "count app")
words = sc.parallelize (
   ["scala", 
   "java", 
   "hadoop", 
   "spark", 
   "akka",
   "spark vs hadoop", 
   "pyspark",
   "pyspark and spark"]
)
counts = words.count()
print("Number of elements in RDD -> %i" % (counts))
-----------------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值