繁体   English   中英

Spark Scala def的收益率

[英]Spark Scala def with yield

SO 33655920中,我遇到了以下问题。

rdd = sc.parallelize([1, 2, 3, 4], 2)
def f(iterator): yield sum(iterator)
rdd.mapPartitions(f).collect()

在Scala中,我似乎无法以相同的速记方式获得def。 等价的是? 我已经搜索并尝试过,但无济于事。

提前致谢。

如果要对分区中的值求和,可以编写如下内容

val rdd = sc.parallelize(1 to 4, 2)
def f(i: Iterator[Int]) = Iterator(i.sum)
rdd.mapPartitions(f).collect()

Python中的yield sum(iterator)对迭代器的元素求和。 在Scala中执行此操作的类似方法是:

val rdd = sc.parallelize(Array(1, 2, 3, 4), 2)
rdd.mapPartitions(it => Iterator(it.sum)).collect()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM