In einer Funktion gibt es eine Möglichkeit, zwei DStreams nach der Verwendung von filter
zurückzugeben? Wenn ich zum Beispiel eine DStream
filtere, werden die gefilterten in einer DStream
gespeichert und die ungefilterten werden in einer anderen DStream
gespeichert.Wie kann ich zwei DStreams in einer Funktion nach der Filtertransformation im Spark-Streaming zurückgeben?
2
A
Antwort
3
Diese effizienter durchgeführt werden könnte, wenn es gebaut-in wurde, aber
def partition[A](stream: DStream[A])(pred: A => Boolean) {
val stream1 = stream.map(x => (x, pred(x)).cache()
val good = stream1.filter(_._2).map(_._1)
val bad = stream1.filter(!_._2).map(_._1)
(good, bad)
}
Hinweis cache()
ist erforderlich, um sicherzustellen, dass stream1
nur einmal berechnet wird; Wenn pred
einfach genug ist und stream
bereits zwischengespeichert ist, sollte nur (stream.filter(pred), stream.filter(x => !pred(x)))
schneller sein.
Verwandte Themen
- 1. Funken: Anti-Join zwei DStreams
- 2. Wie kann ich ein Textfragment von einer XPath-Funktion zurückgeben?
- 3. Wie kann ich die Werte einer Void-Funktion zurückgeben
- 4. PHP-Funktion zwei Arrays zurückgeben
- 5. Kann ich Double * in Funktion zurückgeben?
- 6. Warum kann ich Void nicht direkt in einer Funktion zurückgeben
- 7. Zwei Leerzeilen nach der Funktion
- 8. Kann keinen Wert von einer Funktion zurückgeben
- 9. Kann eine Funktion in R zwei Vektoren zurückgeben?
- 10. Kann ich eine String-Liste von einer Postgres-Funktion zurückgeben?
- 11. Wie kann DataSet zwei verwandte Tabellen zurückgeben?
- 12. Kann ich Objekt in Rust effizient nach Wert zurückgeben?
- 13. Warum kann ich responseText nicht von einer Ajax-Funktion zurückgeben?
- 14. Variablen von einer Funktion zurückgeben?
- 15. Kann ich eine andere Sequenz von einer Funktion zurückgeben?
- 16. Kann ich nach einer LINQ-Eingabe das ID-Feld zurückgeben?
- 17. Kann ich eine Liste aus einer LotusScript-Funktion zurückgeben?
- 18. Generator von einer Funktion zurückgeben
- 19. Zurückgeben von ifstream in einer Funktion
- 20. Wie kann ich einen Wert aus der Funktion zurückgeben, nachdem der Speicher in ExtJs geladen wurde?
- 21. Zurückgeben einer Objektantwort von einer Funktion - Javascript
- 22. Müssen eine Funktion nach dem Zurückgeben der Antwort in Flask
- 23. Wie kann ich den Wert einer Funktion an eine vorher deklarierte Variable zurückgeben (ohne globale Variablen)?
- 24. Wie kann diese rekursive Funktion true zurückgeben?
- 25. Rekursiver Aufruf der Funktion, die Funktion zurückgeben
- 26. Return zwei Variablen in einer Funktion
- 27. Wie führe ich das Zippen zwischen zwei DStreams in Scala durch?
- 28. Zurückgeben eines Datenrahmens aus einer Funktion und Speichern im Arbeitsbereich
- 29. Wie kann ich einen Wert von einer benutzerdefinierten Funktion in MAKEFILE übergeben und zurückgeben?
- 30. Wie kann ich Code nach der return-Anweisung in einer Funktion in Swift ausführen?
Aber der DStream enthält zuerst gefilterte und ungefilterte Elemente. Ich möchte das gefilterte und ungefilterte gleichzeitig zurückgeben! –
Sie meinen also nicht "ungefiltert", Sie meinen "gefiltert mit dem entgegengesetzten Prädikat"? I.e. eine Funktion, die wie "Partition" auf Scala-Sammlungen funktioniert? –
Oh ich denke schon! Es ist "mit dem entgegengesetzten Prädikat gefiltert" –