Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pyspark python:使用if条件语句按键缩减?_Pyspark_Rdd_Reduce - Fatal编程技术网

Pyspark python:使用if条件语句按键缩减?

Pyspark python:使用if条件语句按键缩减?,pyspark,rdd,reduce,Pyspark,Rdd,Reduce,如果第一个值是some或equal,那么我如何对键的值求和,从而得到(k1,(v1,v2+v5),(k2,(v3,v4+v6)?IIUC,您需要在reduce之前更改键,然后将值映射回所需格式 您应该能够执行以下操作: new_rdd=rdd.map(lambda行:((行[0],行[1][0]),行[1][1]))\ .reduceByKey(总和)。 .map(lambda行:(行[0][0],(行[0][1],行[1])) 什么是“some”或“equale”呢?您的输出看起来像是要创建一

如果第一个值是some或equal,那么我如何对键的值求和,从而得到(k1,(v1,v2+v5),(k2,(v3,v4+v6)?

IIUC,您需要在
reduce
之前更改键,然后将值映射回所需格式

您应该能够执行以下操作:

new_rdd=rdd.map(lambda行:((行[0],行[1][0]),行[1][1]))\
.reduceByKey(总和)。
.map(lambda行:(行[0][0],(行[0][1],行[1]))
什么是“some”或“equale”呢?您的输出看起来像是要创建一个新的键,即旧键加上第一个值。使用
映射
函数应该很容易。
(K1, (v1, v2))
(K2, (v3, v4))
(K1, (v1, v5))
(K2, (v3, v6))