我需要计算Java中RDD的大小。
在Scala中,这非常简单,我使用了以下代码:
rdd.map(_.getBytes("UTF-8").length.toLong.reduce(_+_)
大小合适。
在Java中,我发现了这一点:
SizeEstimator.estimate(rdd)
但是,它返回的大小错误,相差很大。 如何在Java中正确估算RDD大小?
在此答案中,How can I find the size of a RDD
rows.apply
在Java中不起作用,因为我们在scala和 rdd.collect()返回Java中的Object。因此并不真正适用。