[英]How to extract text from a RDD?
我正在尝试从书中提取文字。 book.txt中的示例行:
作者 :但是,玛丽警告母亲,自从去年夏天工作以来,她没有改变过。
夏天是温暖的夏天,这个城市到处都是游客。
这是我的代码:
val bookRDD = sc.textFile(“file://test/book.txt”);
val sentenceRDD = bookRDD.filter(line => line.contains(“Author:”))
该代码捕获包含Author:
所有第一行Author:
“ 作者 :但是,玛丽警告母亲,自从去年夏天工作以来,她没有改变过。”
这很好,但是我需要获取Author:
的文本,并排除Author:
所以我有:
但是,玛丽警告母亲,自从去年夏天工作以来,她没有改变过。
您能帮我写一下“ 作者 :”后面的文字代码吗? 我正在尝试在RDD中执行此操作。
过滤后,您可以将rdd映射为将String Author:
替换为空白。 例如
val bookRDD = sc.textFile(“file://test/book.txt”);
val sentenceRDD = bookRDD.filter(line => line.contains(“Author:”)).map(line => line.replaceFirst("Author: ", ""))
您可以在此处使用多种String操作技术。 您可以使用substring
, replaceAll
, split
(可能)
这是带有replaceAll
的一个
rdd.filter( _.startsWith("Author:") )
.map(_.replaceAll("Author:" , "").trim )
.first
// String = However, Mary warns her mother that she hasn't changed since she has worked last summer.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.