scala DataFrame.count()== 0 VS DataFrame.rdd.isEmpty():请比较执行速度[关闭]

kulphzqa  于 2023-06-23  发布在  Scala
关注(0)|答案(2)|浏览(134)

已关闭,此问题为opinion-based。目前不接受答复。
**想改善这个问题吗?**更新问题,以便editing this post可以用事实和引用来回答。

6年前关闭。
这篇文章是编辑并提交审查3天前.
Improve this question
DataFrame.count()需要具体化查询,这是昂贵的。DataFrame.rdd是否存在不可忽略的[物化]成本?与前者相比如何?
后者是否执行得更快?

ni65a41a

ni65a41a1#

.isEmpty()最好它更短,更不容易出错。

更新

Spark代码解释得更好!!在RDD类isEmpty()中为

def isEmpty(): Boolean = withScope {
  partitions.length == 0 || take(1).length == 0
}
c2e8gylq

c2e8gylq2#

最快的方法应该是:

datset.limit(1).take(1).length > 0

这与RDDisEmpty类似,但不需要像调用.rdd那样进行反序列化。
但是,很难说您的情况是否更好-我们不知道要求

相关问题