Ich möchte jene Sätze identifizieren, die bestimmte Wörter haben. Wie Sie in meinem Code sehen werden, habe ich einige Begriffe und Sätze definiert. Ich möchte alle Sätze drucken, die diese definierten Begriffe haben.Wie bestimmte Wörter in der Text-Liste durch Apache Funke de-identifizieren?
**** Hier ist mein Code: ****
import scala.math.random
import org.apache.spark._
object Clasifying {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("Classification")
.setMaster("local")
val sc = new SparkContext(conf)
val terms = Array("this", "is", "my", "pen")
val sentences = Array("this Date is mine",
"is there something",
"there are big dogs",
"The Date is mine",
"there may be something",
"where are pen",
"there is a dog",
"there are big cats",
"I am not able to to do it")
val rdd = sc.parallelize(sentences) // create RDD
val keys = terms.toSet // words required as keys.
val result = rdd.flatMap{ sen =>
val words = sen.split(" ").toSet;
val common = keys & words; // intersect
common.map(x => (x, sen)) // map as key -> sen
}
.groupByKey.mapValues(_.toArray) // group values for a key
.collect
println("*********************************")
result.foreach(println)
println("*********************************")
sc.stop()
}
Mein Code, um das Ergebnis geben wie:
*********************************
(pen,[Ljava.lang.String;@4cc76301)
(this,[Ljava.lang.String;@2f08c4b)
(is,[Ljava.lang.String;@3f19b8b3)
*********************************
Während ich ein Ergebnis wie wollen:
*********************************
{this, is,(this Date is mine)}
{is,(is there something)}
{is,(the Date is mine)}
{is,(is there something)}
{pen,where are pen)}
*********************************
Vielen Dank im Voraus, wie ich bin neu zu entfachen und Stack-Überlauf mich so auf Fehler entschuldigen und fr fühlt ee, um meine Frage zu bearbeiten.
Noch eine Sache, die ich will, dass, was, wenn statt der Definition von einfachen Begriffen und Sätzen ich einige echte terms.txt Datei und ducoment.txt für Sätze? Wie wird der Code für diese Sättigung sein?
stumpf die Größe beider Dokumente wird sehr groß sein –