Ja, eine Reihe von Filtern entspricht semantisch einem Filter mit &&
in Ihrem Fall.
file.filter(r => r(38) == "0" && r(2) == "0" && r(3) == "0")
jedoch die obige Variante gewährleistet ist als die frühere Version, schneller zu sein. Dies kann über die folgenden hergestellt werden:
&&
ist ein Kurzschluss-Operator, und der nächste Vergleich geschieht nur, wenn der erste, der true
auswertet. Die Anzahl der Vergleiche in beiden Fällen ist die gleiche (ja!).
Die Version mit mehreren Filtern umfasst drei Übergänge über die RDD im Vergleich zu einem Durchgang für einen einzelnen Filter mit &&
.
Ja, es wird wok wie &&, natürlich. Nicht sicher, was am Ende effizienter sein wird –
Ich denke, das war die Frage - ist das die Frage: Was ist effizienter? –
@ david-greif Ja, es war wie eine doppelte Frage, ob ich einen solchen Ausdruck benutzen kann und ob er genauso effizient ist wie "&&" –