a = sc.parallelize((1,9,3,10))
我想在不使用任何max函数的情况下找到a中的最大元素。
我试过了 a.filter(lambda x,y:x if x> y else y)
我无法比较RDD中的元素。如何在map / filter函数中正确使用for循环或if else条件。有可能吗?
谢谢。
我试图发布一个不同的问题。但不能。
a = sc.parallelize((11,7,20,10,1,7))
我想在不使用sort()函数的情况下按递增顺序对元素进行排序。
我试过了:
def srt(a,b):
if a>b:
i=a
a=b
b=i
final=a.map(lambda x,y: srt(x,y))
我没有得到所需的结果。
我想要
(1,7,7,10,11,20)
谢谢。
答案 0 :(得分:1)
使用过滤器无法找到最大/最小值。您可以在reduce操作中使用比较来实现这一点:
a = sc.parallelize([1,9,3,10])
max_val = a.reduce(lambda a, b: a if a > b else b)
lambda只比较并返回2个值中较大的值。