Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.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_Scala_Apache Spark_Dataframe_Apache Spark Sql - Fatal编程技术网

Scala 如何筛选此数据帧中的值!=0

Scala 如何筛选此数据帧中的值!=0,scala,apache-spark,dataframe,apache-spark-sql,Scala,Apache Spark,Dataframe,Apache Spark Sql,伙计们,我有这个数据框 +----------+--------------------+-----------+----------+---+------+----------+ |test| content| environment| ID|dddd|dddd| date| +----------+--------------------+-----------+----------+---+------+----------+ |

伙计们,我有这个数据框

+----------+--------------------+-----------+----------+---+------+----------+
|test|         content|         environment|         ID|dddd|dddd| date|
+----------+--------------------+-----------+----------+---+------+----------+
|         0|{ "$set" : { "sta...|test|        400146779|  u| Mongo| 123123123|
|         0|{ "$set" : { "sta...|test|       -307131663|  u|     0|         0|
|   charges|{ "$set" : { "sta...|test|                0|  u| mongo|1556816209|
|   charges|{ "$set" : { "sta...|test|         19920822|  u| mongo|1556816209|
+----------+--------------------+-----------+----------+---+------+----------+
如何筛选此数据帧并创建一个新的数据帧,其中只包含列中没有0的行

因此,新数据帧上的唯一值是

charges|{ "$set" : { "sta...|test|         19920822|  u| mongo|1556816209
因为它不包含0


谢谢。

您可以使用
数据集的
过滤器

val dsWithoutZeros = ds.filter(r => r.toSeq.forall{
   //filter out row if any value in row is number and is equal 0
   case i: Number => i.longValue() != 0 
   case _ => true //if value is not number, just return neutral value for forall
})

您的意思是,如果该行有任何int或long列的值为0,则应将其过滤掉?你已经试过了吗?是的,它应该会记录你可以共享你的代码吗?val successDF=dataFrame.filter($“ID”!==0)我正在尝试类似的方法,但它只检查一列,我想检查每一列的0