gpt4 book ai didi

java - 如何在 Scala 中使用 mapPartitions?

转载 作者:可可西里 更新时间:2023-11-01 14:31:23 26 4
gpt4 key购买 nike

我试图在 Scala 中使用 mapPartitions 但出现以下错误。

[error]  found   : Unit
[error] required: Iterator[?]
[error] Error occurred in an application involving default arguments.
[error] rdd.mapPartitions(showParts)

我调用 mapPartitions 函数如下。

rdd.mapPartitions(showParts)

其中showParts函数定义如下。

def showParts(iter: Iterator[(Long, Array[String])]) = 
{
while (iter.hasNext)
{
val cur = iter.next;
// Do something with cur
}
}

在这里使用 mapPartitions 的正确方法是什么?

最佳答案

问题是您传递给 mapPartitions 的 UDF 必须具有 Iterator[U] 的返回类型。您当前的代码不返回任何内容,因此属于 Unit 类型。

如果你想在执行完mapPartitions之后得到一个空的RDD,那么你可以这样做:

def showParts(iter: Iterator[(Long, Array[String])]) = 
{
while (iter.hasNext)
{
val cur = iter.next;
// Do something with cur
}

// return Iterator[U]
Iterator.empty
}

关于java - 如何在 Scala 中使用 mapPartitions?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31605440/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com