-2
input: (Array[Int],Array[Int])
ex) (Array(1),Array(2)), (Array(),Array()), (Array(4),Array(8)), ...
如何刪除空數組?如何在scala中刪除空數組
預期輸出是
ex) (Array(1),Array(2)), (Array(4),Array(8))...
input: (Array[Int],Array[Int])
ex) (Array(1),Array(2)), (Array(),Array()), (Array(4),Array(8)), ...
如何刪除空數組?如何在scala中刪除空數組
預期輸出是
ex) (Array(1),Array(2)), (Array(4),Array(8))...
你可以只使用filter
。如果你有一個清單:
val lst = List((Array(1),Array(2)), (Array(),Array()), (Array(4),Array(8)))
lst.filterNot{ case (x, y) => x.isEmpty && y.isEmpty }
// res58: List[(Array[_ <: Int], Array[_ <: Int])] = List((Array(1),Array(2)), (Array(4),Array(8)))
如果你有一個RDD:
val rdd = sc.parallelize(lst)
// rdd: org.apache.spark.rdd.RDD[(Array[_ <: Int], Array[_ <: Int])] = ParallelCollectionRDD[44] at parallelize at <console>:27
rdd.filter{ case (x, y) => ! (x.isEmpty && y.isEmpty) }.collect
// res60: Array[(Array[_ <: Int], Array[_ <: Int])] = Array((Array(1),Array(2)), (Array(4),Array(8)))