我是Scala的新手,我有一个我无法理解的错误。以下是我array
的{{1}} :(数字从1到100)
int
接下来我写了一个函数,它返回我的数组的MAX值:
val rdd = sc.parallelize(1 to 100)
但我总是得到这个错误:
rdd.reduce((x, y) => x > y ? x : y)
我真的不知道错误意味着什么,所以我无法找到解决方案。但是,如果我使用这样的函数,它可以工作:
<console>:30: error: not found: type y
rdd.reduce((x, y) => x > y ? x : y)
^
感谢您的回答!
答案 0 :(得分:4)
Scala中没有? :
运算符,而是使用if
:
rdd.reduce((x, y) => if (x > y) x else y)
或者使用max
而不是自己构建它:
rdd.reduce((x, y) => x max y)
或使用匿名函数的_语法:
rdd.reduce(_ max _)
或者避免自己构建最大集合:
rdd.max