Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.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

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
Scala 如果组中的任何行具有0值,我将如何使用ANY条件进行筛选?_Scala_Apache Spark - Fatal编程技术网

Scala 如果组中的任何行具有0值,我将如何使用ANY条件进行筛选?

Scala 如果组中的任何行具有0值,我将如何使用ANY条件进行筛选?,scala,apache-spark,Scala,Apache Spark,假设我有这个数据帧 var df = Seq(("Steve",1),("Steve",0),("Michael",3),("Michael",2),("Katherine",4),("Katherine",0),("Devin",0),("Devin",0)).toDF("name","score"

假设我有这个数据帧

var df = Seq(("Steve",1),("Steve",0),("Michael",3),("Michael",2),("Katherine",4),("Katherine",0),("Devin",0),("Devin",0)).toDF("name","score")

我想返回唯一的名称,它们的分数都不等于零。所以在这种情况下,唯一返回的名字是迈克尔,因为他的两个分数都在零以上


非常感谢

如果要在多行上应用条件,则需要使用或函数

在您的情况下,您可以按“名称”列分组,汇总每个名称的分数列表,然后筛选出分数列表中包含0的所有记录。您的代码是:

import org.apache.spark.sql.functions.{col,collect\u set,array\u contains,not}
df.groupBy(“名称”)
.agg(收集集合(列(“分数”)).as(“所有分数”))
.filter(不是(数组包含(列(“所有分数”),0)))
.选择(“名称”)

如果要在多行上应用条件,则需要使用or函数之一

在您的情况下,您可以按“名称”列分组,汇总每个名称的分数列表,然后筛选出分数列表中包含0的所有记录。您的代码是:

import org.apache.spark.sql.functions.{col,collect\u set,array\u contains,not}
df.groupBy(“名称”)
.agg(收集集合(列(“分数”)).as(“所有分数”))
.filter(不是(数组包含(列(“所有分数”),0)))
.选择(“名称”)