查看“PySpark实战:mapPartitionsWithIndex操作”的源代码
←
PySpark实战:mapPartitionsWithIndex操作
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==介绍== mapPartitionsWithIndex操作是一个变换算子, 它的作用是对RDD每个分区上应用函数func,同时跟踪原始分区的索引 并返回新的RDD ==代码== <nowiki> import findspark findspark.init() ############################################## from pyspark.sql import SparkSession spark = SparkSession.builder \ .master("local[1]") \ .appName("RDD Demo") \ .getOrCreate(); sc = spark.sparkContext ############################################# rdd = sc.parallelize([1, 2, 3, 4 ,5 ,6], 3) def f(index, iter): #分区索引 0,1,2 print(index) for x in iter: #1,2;3,4;5,6 print(x) yield index ret = rdd.mapPartitionsWithIndex(f).sum() #3=0+1+2 print(ret) ############################################## sc.stop()</nowiki> *rdd.mapPartitionsWithIndex按照分区进行遍历,这个过程中创建一个[0,1,2]的新RDD对象。 *然后在RDD对象上调用sum(),将元素值进行累加,值为0+1+2 =3 ==输出== <nowiki> 0 1 2 1 3 4 2 5 6 3 </nowiki>
返回至
PySpark实战:mapPartitionsWithIndex操作
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息