我在键值对上使用了groupByKey我输出的类型为[(String,Iterable [String])]
我在上面的输出上调用了一个关于地图转换的函数,但是我在函数声明中遇到了错误。
def getStr (uid : String, locations : Array[]) : String = {
return "test"
}
我不知道如何使用Iterable [String]作为函数参数。
答案 0 :(得分:0)
如果RDD具有类型 # disable USB 2.0
config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--usb", "off"]
vb.customize ["modifyvm", :id, "--usbehci", "off"]
end
,要映射其记录,您需要一个函数接收具有相同类型的RDD记录的单个参数,即:
RDD[(String, Iterable[String])]
如果您想知道def getStr(record: (String, Iterable[String])): String = { "test" }
可以做些什么 - 请参阅docs。
有时最简单的方法(虽然不一定表现最佳)是将其转换为列表,然后您获得更丰富的API,例如获取迭代器的第一项,如果它是空的,则为默认值:
Iterable