当前位置: 首页 > 图灵资讯 > 技术篇> pyspark机制

pyspark机制

来源:图灵教育
时间:2023-05-19 09:15:23

RD弹性分布式数据集 RDD 是 Spark 最重要的抽象概念是一种具有容错机制的特殊数据集,可以分布在集群的结点,通过函数操作集进行各种并行操作。

一般来说,可以 RDD 理解为分布式对象集合,本质上是只读的分区记录集合。每个 RDD 可分为多个分区,每个分区都是一个数据集片段。一个 RDD 不同的分区可以保存在集群中的不同结点上,以便在集群中的不同结点上并行计算。 RDD 具有容错机制,只读不能修改,可以实施确定的转换操作,创造新的 RDD。具体来讲,RDD 具有以下属性。

只读:不能修改,只能通过转换操作生成新的 RDD。 分布式:可分布在多台机器上并行处理。 弹性:当计算过程中内存不足时,它会与磁盘进行数据交换。 基于内存:可以在内存中全部或部分缓存,并在多个计算间重用。RDD基本转换计算

intRDD=sc.parallelize(3、1、2、5、5)intRDD.collect()intRDD=sc.parallelize(3,1,2,5,5])mapdef add1(x):    return (x+1)intRDD.map(add1).collect()intRDD.map(lambda x:x+1).collect()stringRDD.map(lambda x:"fruit:"+x).collect()filterintRDD.filter(lambda x:x<3).collect()intRDD.filter(lambda x:x>3).collect()intRDD.filter(lambda x:x<3 or x>=5).collect()distinct删除重复元素intRDD.distinct().collect()[1, 2, 3, 5]randomSplitsRDD=intRDD.randomSplit([0.4,0.6])sRDD[0].collect()sRDD[1].collect()groupBygRDD=intRDD.groupBy(lambda x:"even"if(x%2==0)else "odd").collect()print(gRDD[0][0],sorted(gRDD[0][1])

pyspark机制_数据集