Spark RDD 将一行数据映射成多行
Spark RDD mapping one row of data into multiple rows
我有一个包含如下数据的文本文件:
Type1 1 3 5 9
Type2 4 6 7 8
Type3 3 6 9 10 11 25
我想将其转换为具有如下行的 RDD:
1 Type1
3 Type1
3 Type3
......
我从一个案例开始 class:
MyData[uid : Int, gid : String]
spark 和 scala 的新手,我似乎找不到执行此操作的示例。
看来你想要这样的东西?
rdd.flatMap(line=>{
val splitLine = line.split(' ').toList
splitLine match{
case (gid:String) :: rest => rest.map(x:String =>MyData(x.toInt, gid))
}
}
我有一个包含如下数据的文本文件:
Type1 1 3 5 9
Type2 4 6 7 8
Type3 3 6 9 10 11 25
我想将其转换为具有如下行的 RDD:
1 Type1
3 Type1
3 Type3
......
我从一个案例开始 class:
MyData[uid : Int, gid : String]
spark 和 scala 的新手,我似乎找不到执行此操作的示例。
看来你想要这样的东西?
rdd.flatMap(line=>{
val splitLine = line.split(' ').toList
splitLine match{
case (gid:String) :: rest => rest.map(x:String =>MyData(x.toInt, gid))
}
}