是否有一种有效的方法可以在RDD
中找到特定元素,然后将其删除?
例如:
sc.parallelize(Array(Array(4,2,6),Array(2,5),Array(1, 2, 3), Array(1, 2, 6)))
使用特定值在RDD
中查找数组(1,2,3)并将其删除,这是可能的
提前致谢
答案 0 :(得分:1)
如果你想删除RDD的一行,那么你应该使用filter
的方法RDD
,documentation个状态:
返回一个只包含满足谓词的元素的新RDD。
这意味着所有记录都使用lambda中的表达式进行比较,如果它们满足条件,则保留它们,否则它们将从新的RDD
中删除。
val xrdd = sc.parallelize(Array(Array(1, 2, 3), Array(1, 2, 6)))
xrdd.filter(_.sameElements(Array(1, 2, 3))).take(3)
// Array(Array(1, 2, 6))