Hier ist ein Beispiel.Gibt es eine gute Möglichkeit, Wörter in Spark anzuhängen?
DataSet - dataset.txt
1 banana kiwi orange melon
-Code
scala> val table = sc.textFile("dataset.txt").map(_.split(" "))
scala> table.take(1)
res0: Array[Array[String]] = Array(Array(1, banana , kiwi , orange, melon))
scala> val pairSet = table.map{case Array(key,b,k,o,m) => (key, b+" "+k+" "+o+" "+m)}
scala> pairSet.take(1)
res1: Array[(String, String)] = Array((1, banana kiwi orange melon))
Ich frage mich, ob der Teil, der die Werte in der pairSet
anhängt effizient ist. Oder gibt es einen besseren Weg?
Vielen Dank für Ihre Antwort! Ist Ihre Methode (val splits = x.split ("", 2) (Splits (0), Splits (1))) "effizienter als mein Verfahren" (b + "+ k +" + o + "" + m) '? –
ja, denn in Ihrem Fall spalten Sie die restlichen Strings mit Ausnahme des ersten Vorkommnisses unnötig auf, um sie später wieder anzuhängen. – vdep
Oh ja! Vielen Dank für Ihren Rat! –