我有数百万份文件 我想删除长度小于3个字的行(在Scala和Spark中), 我怎么能这样做?
答案 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()
})