Apache-spark:如何在函数中传递Iterable [String]作为参数

时间:2016-08-23 13:49:45

标签: scala apache-spark

我在键值对上使用了groupByKey我输出的类型为[(String,Iterable [String])]

我在上面的输出上调用了一个关于地图转换的函数,但是我在函数声明中遇到了错误。

def getStr (uid : String, locations : Array[]) : String = {
   return "test"
}

我不知道如何使用Iterable [String]作为函数参数。

1 个答案:

答案 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