【发布时间】:2016-12-04 12:45:00
【问题描述】:
假设我有以下数据框:
var randomData = Seq(("a",8),("h",5),("f",3),("a",2),("b",8),("c",3)
val df = sc.parallelize(randomData,2).toDF()
我有这个函数,它将作为mapPartition 的输入:
def trialIterator(row:Iterator[(String,Int)]): Iterator[(String,Int)] =
row.toArray.tail.toIterator
并使用地图分区:
df.mapPartition(trialIterator)
我收到以下错误消息:
类型不匹配,预期 (Iterator[Row]) => Iterator[NotInferedR],实际:Iterator[(String,Int) => Iterator[(String,Int)]
我可以理解这是由于我的函数的输入、输出类型而发生的,但是如何解决这个问题?
【问题讨论】:
标签: scala apache-spark