Scala 很少有条件过滤ApacheSpark
我需要检查一些条件,因此我通过以下方式过滤我的RDD:Scala 很少有条件过滤ApacheSpark,scala,apache-spark,Scala,Apache Spark,我需要检查一些条件,因此我通过以下方式过滤我的RDD: scala> file.filter(r => r(38)=="0").filter(r => r(2)=="0").filter(r => r(3)=="0").count 它作为“&&”的替代品是否正确?是的,在您的情况下,一系列过滤器在语义上等同于一个带有&&的过滤器 file.filter(r=>r(38)=“0”和&r(2)=“0”和&r(3)=“0”) 但是,上述变体保证比早期版本更快。这可以通过以下方
scala> file.filter(r => r(38)=="0").filter(r => r(2)=="0").filter(r => r(3)=="0").count
它作为“&&”的替代品是否正确?是的,在您的情况下,一系列过滤器在语义上等同于一个带有
&&
的过滤器
file.filter(r=>r(38)=“0”和&r(2)=“0”和&r(3)=“0”)
但是,上述变体保证比早期版本更快。这可以通过以下方式建立:
&&
是一个短路运算符,只有当第一个运算符的计算结果为true
时,才会进行下一次比较。两种情况下的比较次数相同(是!)&
的单个过滤器进行一次过滤是的,在您的例子中,一系列过滤器在语义上等同于一个过滤器,带有
&&
file.filter(r=>r(38)=“0”和&r(2)=“0”和&r(3)=“0”)
但是,上述变体保证比早期版本更快。这可以通过以下方式建立:
&&
是一个短路运算符,只有当第一个运算符的计算结果为true
时,才会进行下一次比较。两种情况下的比较次数相同(是!)&
的单个过滤器进行一次过滤是的,当然,它会像&&&。不确定哪一个会更有效我想这就是问题所在——这就是问题所在:哪一个更有效?@david griffin是的,如果我能使用这样的表达,这就像是双重问题,如果它与使用“&&”一样有效,是的,它当然会像&&&”一样有效。不确定哪一个会更有效我想这就是问题所在——这就是问题所在:哪一个更有效?@david griffin是的,如果我能使用这样的表达,这就像是双重问题,如果它与使用“&&”的效率相同)