Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 清点及;火花过滤器_Apache Spark_Pyspark - Fatal编程技术网

Apache spark 清点及;火花过滤器

Apache spark 清点及;火花过滤器,apache-spark,pyspark,Apache Spark,Pyspark,在spark中,通常在使用贴图之前执行过滤操作,以确保贴图是可能的。请参见下面的示例: bc_ids = sc.broadcast(ids) new_ids = users.filter(lambda x: x.id in ids.value).map(lambda x: ids.value[x]) 如果你想知道你过滤掉了多少用户,你如何才能有效地做到这一点?因此,我不想使用: count_before = users.count() new_ids = users.filter(lambda

在spark中,通常在使用贴图之前执行过滤操作,以确保贴图是可能的。请参见下面的示例:

bc_ids = sc.broadcast(ids)
new_ids = users.filter(lambda x: x.id in ids.value).map(lambda x: ids.value[x])
如果你想知道你过滤掉了多少用户,你如何才能有效地做到这一点?因此,我不想使用:

count_before = users.count()
new_ids = users.filter(lambda x: x.id in ids.value).map(lambda x: ids.value[x])
count_after = new_ids .count()
这个问题与spark SQL有关,但与之相反,它与spark SQL无关

在spark中,通常在使用贴图之前执行过滤操作,以 确保地图是可能的

在map()之前执行filter()的原因是只处理必要的数据

回答你的问题

val base = sc.parallelize(Seq(1, 2, 3, 4, 5, 6, 7))    
println(base.filter { _.==(7) }.count())
println(base.filter { !_.==(7) }.count())
第一行将给出过滤的结果,第二行将给出过滤的值的数量。如果您处理的是缓存和分区的数据,那么这可以有效地完成