if(df.count()== 0){
System.out.println("df is an empty dataframe");
}
以上是一种检查DataFrame是否为空而无需获取的方法 空指针异常。
在Spark中还有其他最好的方法吗?我担心如果DataFrame df获得数百万条记录,上述语句将需要很长时间才能执行。
答案 0 :(得分:1)
计数可能会慢一些。相反,你可以检查head元素是否为空。
df.head(1).isEmpty
为此添加异常处理,因为如果df为空,它将抛出java.util.NoSuchElementException
。
答案 1 :(得分:1)
我最近遇到过一个这样的场景。以下是检查dataframe
是否为空的一些方法。
虽然最好避免使用count()
,因为它更贵。但是,在某些情况下,您可能非常确定dataframe
将只有一行或根本没有记录(例如:在Hive查询中执行max()
函数)。在这种情况下,可以使用count()
。