Scala 中的拆分线保持线的第一个元素通用

split line in scala keeping first element of line common

我正在尝试按以下方式拆分我的数据文件。

1 1#1097#2321#2018
2 12#312#123#1211

所以我希望得到的 RDD 是:

1 1
1 1097
1 2321
1 2018
2 12
2 312
2 123

假设您已经将行作为 RDD(并且输入中没有可能的错误,我不会计算在内,因此您可以添加一些 pre-validation/filtering):

lines.flatMap { case line =>
  val Array(head, other) = line.split(" ")
  other.split('#').map(o => head -> o)
}