0
星火流DSTREAM打印()顯示前10行像
val fileDstream = ssc.textFileStream("hdfs://localhost:9000/abc.txt")
fileDstream.print()
是否有辦法讓最後n
行考慮到文本文件的大小和未分類的大?如何打印火花流中的最後n行dstream?
星火流DSTREAM打印()顯示前10行像
val fileDstream = ssc.textFileStream("hdfs://localhost:9000/abc.txt")
fileDstream.print()
是否有辦法讓最後n
行考慮到文本文件的大小和未分類的大?如何打印火花流中的最後n行dstream?
如果你這樣做,你可以簡化爲:
fileDstream.foreachRDD { rdd =>
rdd.collect().last
}
然而,這所有的數據收集到驅動程序的問題。
您的數據是否有序?如果是這樣,你可以扭轉這種情況,並採取第一。或者,hackey實現可能涉及一個mapPartitionsWithIndex,它爲除最後一個分區以外的所有分區返回一個空的迭代器。對於最後一個分區,您將過濾除迭代器中最後一個元素之外的所有元素。這應該留下一個元素,這是你的最後一個元素。
,或者您也可以
fileDstream.foreachRDD { rdd =>
rdd.top(10)(reverseOrdering)
}
@Prabhat嘗試:請做答案正確的,如果你的作品 –