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尝试:请做答案正确的,如果你的作品 –