我正在尝试删除 RDD [String] 的最后一个元素。
到目前为止,我正在这样做:
val n: Long = rdd.count()
val startIndex: Long = n - 1
val lastElem = rdd.zipWithIndex()
.filter{ case (_, index) => index >= startIndex }
.keys
.collect()
val newRdd = rdd.filter(x => !x.equalsIgnoreCase(lastElem(0))).cache()
也就是说,取rdd的最后一个元素,并过滤它以获得所有元素减去最后一个元素。
这工作得很好,但有没有更好的方法呢?