在scala中的非结构化文件中查找行号

时间:2016-03-16 14:45:46

标签: scala apache-spark spark-dataframe line-numbers

大家好我正在为一些关键词解析非结构化文件,但我似乎无法轻易找到我正在调整的结果的行号

val filePath:String = "myfile"
val myfile = sc.textFile(filePath);
var ora_temp = myfile.filter(line => line.contains("MyPattern")).collect
ora_temp.length

但是,我不仅希望找到包含MyPatterns的行,而且我想要更像一个tupple(Mypattern行,行号)

提前致谢,

1 个答案:

答案 0 :(得分:1)

您可以使用ZipWithIndex作为eliasah在注释中指出(可能是使用直接元组访问器语法执行此操作的最简洁方法),或者像使用过滤器中的模式匹配一​​样:

val matchingLineAndLineNumberTuples = sc.textFile("myfile").zipWithIndex().filter({
  case (line, lineNumber) => line.contains("MyPattern")
}).collect