Ich versuche, eine RDD einer Textdatei durchzulaufen, eine Zählung jedes einzelnen Wortes in der Datei vorzunehmen und dann alle Wörter, die jedem eindeutigen Wort folgen, zusammen mit ihren Zählungen zu akkumulieren. Bisher ist es das, was ich habe:Wie reducedByKey mit 3 Werten?
// connecting to spark driver
val conf = new SparkConf().setAppName("WordStats").setMaster("local")
val spark = new SparkContext(conf) //Creates a new SparkContext object
//Loads the specified file into an RDD
val lines = sparkContext.textFile(System.getProperty("user.dir") + "/" + "basketball_words_only.txt")
//Splits the file into individual words
val words = lines.flatMap(line => {
val wordList = line.split(" ")
for {i <- 0 until wordList.length - 1}
yield (wordList(i), wordList(i + 1), 1)
})
Wenn ich nicht klar gewesen, so weit, was ich versuche zu tun, um die Menge der Wörter zu sammeln, die jedes Wort in die folgen Datei zusammen mit der Anzahl, wie oft die Worte ihren vorhergehenden Worten in der Form folgen:
(PrecedingWord, (FollowingWord, numberOfTimesWordFollows))
deren Datentypen sind (String, (String, Int))