如何删除长度小于3个字的行?

时间:2015-07-05 19:11:23

标签: scala text apache-spark

我有数百万份文件 我想删除长度小于3个字的行(在Scala和Spark中), 我怎么能这样做?

3 个答案:

答案 0 :(得分:1)

一切都取决于你如何定义单词,但采用一种非常简单的方法:

message

答案 1 :(得分:0)

您可以使用计数功能。 (假设您在单词之间留有' '):

scala.io.Source.fromFile("myfile.txt").getLines().filter(_.count(' '==) >= 3)

答案 2 :(得分:0)

如果你想保持线条完整,

零回答有效。但是,如果您还希望对这些行进行标记,那么flatMap会更有效。

val lines = sc.textFile("README.md")
lines.flatMap(line =>{
  val tokenized = line.split("""\s+""")
  if(tokenized.length >= 3) tokenized
  else Seq()
})