在RDD Spark中查找元素



有没有一种有效的方法可以在RDD中找到特定元素,然后将其删除?

例如:

sc.parallelize(Array(Array(4,2,6),Array(2,5),Array(1, 2, 3), Array(1, 2, 6)))

RDD中找到具有特定值的数组(1,2,3)并将其删除,这可能吗提前致谢

如果你想删除RDD的一行,那么你应该使用RDD s中filter的方法,文档指出:

返回一个新的 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))

最新更新