我正在尝试实现我自己的简单函数而不是combineByKey,它基本上只接受一个函数和一个迭代器,并在应用函数时返回键值对。
例如: 如果我的rdd看起来像这样:([(" x",2),(" y",1),(" x",3)] )和一个将值相乘的函数。我想将这两个插入到我新创建的名为collector的函数中,并将其作为回报([" x",6),(" y",1)]。
我想尽可能简单,但这是我第一次在pyspark编码,所以我不太清楚如何开始这个。
答案 0 :(得分:0)
使用partitionbykey
而不是PairRDD
并致电mappartitions
并提供您的功能。
partitionebykey
确保相同分区中存在相同的密钥。