我正在RDD上進行一些模式匹配,並且只想選擇與模式匹配的重複行/記錄。以下是我目前有,如何在構建RDD時跳過與模式不匹配的條目
val idPattern = """Id="([^"]*)""".r.unanchored
val typePattern = """PostTypeId="([^"]*)""".r.unanchored
val datePattern = """CreationDate="([^"]*)""".r.unanchored
val tagPattern = """Tags="([^"]*)""".r.unanchored
val projectedPostsAnswers = postsAnswers.map {line => {
val id = line match {case idPattern(x) => x}
val typeId = line match {case typePattern(x) => x}
val date = line match {case datePattern(x) => x}
val tags = line match {case tagPattern(x) => x}
Post(Some(id),Some(typeId),Some(date),Some(tags))
}
}
case class Post(Id: Option[String], Type: Option[String], CreationDate: Option[String], Tags: Option[String])
我只行/記錄興趣匹配所有的模式(即,具有所有這些四個字段的記錄)的。如何跳過那些不符合我的要求的行/記錄?