2017-07-25 62 views

回答

1

如果你这样做,你可以简化为:

fileDstream.foreachRDD { rdd => 
     rdd.collect().last 
    } 

然而,这所有的数据收集到驱动程序的问题。

您的数据是否有序?如果是这样,你可以扭转这种情况,并采取第一。或者,hackey实现可能涉及一个mapPartitionsWithIndex,它为除最后一个分区以外的所有分区返回一个空的迭代器。对于最后一个分区,您将过滤除迭代器中最后一个元素之外的所有元素。这应该留下一个元素,这是你的最后一个元素。

,或者您也可以

fileDstream.foreachRDD { rdd => 
    rdd.top(10)(reverseOrdering) 
} 
+0

@Prabhat尝试:请做答案正确的,如果你的作品 –