java - 除了使用 Java 在 Spark 中进行计数检查之外,还有哪些方法可以检查 DataFrame 是否为空?

标签 java apache-spark dataframe nullpointerexception apache-spark-sql

if(df.count()== 0){
    System.out.println("df is an empty dataframe");
 }

上面是一种在不获取数据的情况下检查 DataFrame 是否为空的方法 空指针异常。

在 Spark 中是否还有其他最好的方法来执行此操作,因为我担心如果 DataFrame df 获取数百万条记录,则上述语句将需要很长时间才能执行。

最佳答案

我最近遇到了这样一个场景。以下是检查 dataframe 是否为空的一些方法。

  • df.count() == 0
  • df.head().isEmpty
  • df.rdd.isEmpty
  • df.first().isEmpty

尽管最好避免 count() 因为它更昂贵。然而,在某些情况下,您可能非常确定 dataframe 要么有单行,要么根本没有记录(例如:在中执行 max() 函数Hive 查询)。在这种情况下,可以使用 count()

关于java - 除了使用 Java 在 Spark 中进行计数检查之外,还有哪些方法可以检查 DataFrame 是否为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44123889/

相关文章:

java - 如何在方法调用中传递数据并使用用户输入

java - Spark MLlib - 将字符串转换为 TF-IDF LabeledPoint RDD

python - 如果 python 中的行重复,则删除所有行

Java PrintWriter 打印字符不显示最后一个字符

java - 通过java运行Shell命令

python - Geoip 2's python library doesn' t 在 pySpark 的 map 函数中工作

apache-spark - java.lang.AbstractMethodError,org.apache.spark.internal.Logging$class.initializeLogIfNecessary

python - 合并两个pandas DataFrame

r - 计算共享值

java - 如何检查文件是否存在?