Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.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
Apache spark Pyspark-最大/最小参数_Apache Spark_Pyspark - Fatal编程技术网

Apache spark Pyspark-最大/最小参数

Apache spark Pyspark-最大/最小参数,apache-spark,pyspark,Apache Spark,Pyspark,我有一个问题。在Pyspark中,当我们需要根据(键、值)获取总计(和)时,我们的查询如下: RDD1 = RDD.reduceByKey(lambda x , y: x + y) 当我们需要为(Key,value)查找最大/最小值时,我们的查询如下 RDD1 = RDD.reduceByKey(lambda x , y: x if x[1] >= y[1] else y) 为什么我们不使用x[1],Y[1]对数据求和,其中as用于MAX/MIN?。请澄清这个疑问 Rgd的你错了,你把

我有一个问题。在Pyspark中,当我们需要根据(键、值)获取总计(和)时,我们的查询如下:

RDD1 = RDD.reduceByKey(lambda x , y: x + y)
当我们需要为(Key,value)查找最大/最小值时,我们的查询如下

RDD1 = RDD.reduceByKey(lambda x , y: x if x[1] >= y[1] else y)
为什么我们不使用
x[1]
Y[1]
对数据求和,其中as用于MAX/MIN?。请澄清这个疑问


Rgd的

你错了,你把这段代码断章取义了。在这两种情况下,
x
y
均指数值

lambda x , y: x if x[1] >= y[1] else y
相当于:

lambda x, y: max(x, y, key=lambda x: x[1])
它通过第二个元素比较值,表示每个

  • 是可索引的(实现
    \uuuu getitem\uuuu
  • 至少有两个元素
范例

sc.parallelize([(1, ("a", -3)), (1, ("b", 3))]) \
  .reduceByKey(lambda x , y: x if x[1] >= y[1] else y).first()
将是
(1,('b',3))
,因为3大于-3