2017-07-25 65 views

回答

1

如果你這樣做,你可以簡化爲:

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

然而,這所有的數據收集到驅動程序的問題。

您的數據是否有序?如果是這樣,你可以扭轉這種情況,並採取第一。或者,hackey實現可能涉及一個mapPartitionsWithIndex,它爲除最後一個分區以外的所有分區返回一個空的迭代器。對於最後一個分區,您將過濾除迭代器中最後一個元素之外的所有元素。這應該留下一個元素,這是你的最後一個元素。

,或者您也可以

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

@Prabhat嘗試:請做答案正確的,如果你的作品 –