我们正在保存一个Dataframe,但我们需要检查Dataframe不应为空。
为了实现这一点,我们正在使用 df.isEmpty()
这是保存df时非常常见的做法。
我担心的是df.isempty,head(1),limit(1)所有这些都会执行一个动作,第一次执行整个计划&当我们保存它时,第二次会再次触发(执行)计划。是不是很糟糕,有没有更好的办法?
在我遇到的大多数代码示例中,这是保存非空Dataframe的常用方法检查空(触发操作并执行计划),然后保存(再次触发操作并执行整个计划)
我们正在保存一个Dataframe,但我们需要检查Dataframe不应为空。
为了实现这一点,我们正在使用 df.isEmpty()
这是保存df时非常常见的做法。
我担心的是df.isempty,head(1),limit(1)所有这些都会执行一个动作,第一次执行整个计划&当我们保存它时,第二次会再次触发(执行)计划。是不是很糟糕,有没有更好的办法?
在我遇到的大多数代码示例中,这是保存非空Dataframe的常用方法检查空(触发操作并执行计划),然后保存(再次触发操作并执行整个计划)
1条答案
按热度按时间hm2xizp91#
我不会用df.rdd.isempty。这种方法将Dataframe转换为rdd,rdd可能不使用底层优化器(catalyst优化器),从而减慢进程。
使用count(),但一定要保存数据,以避免不必要的计划执行。
希望有帮助