scala - 检查 DataFrame(Scala) 是否为空的最快方法?

标签 scala apache-spark apache-spark-sql spark-dataframe

如何以最快的方式检查 DataFrame(Scala) 是否为空?我使用 DF.limit(1).rdd.isEmpty,比 DF.rdd 更快。是空的,但不理想。有没有更好的方法来做到这一点?

最佳答案

我通常将对 first 的调用包裹在 Try 中:

import scala.util.Try

val t = Try(df.first)

如果它是成功失败,您可以从那里匹配它以控制逻辑:

import scala.util.{Success,Failure}

t match {
  case Success(df) => //do stuff with the dataframe

  case Failure(e) => 
    // dataframe is empty; do other stuff
    //e.getMessage will return the exception message
}

关于scala - 检查 DataFrame(Scala) 是否为空的最快方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36998951/

相关文章:

apache-spark - 我们如何在 SPARK 2.2.0 中将外部表转换为托管表?

apache-spark - 在 PySpark 中运行自定义 Apache Phoenix SQL 查询

python - 如何使用 Python 连接 HBase 和 Spark?

java - 具有 Java 和 Scala 交互的开源项目

scala - 找不到:在spark scala中键入MultipleTextOutputFormat

Scala 函数在列表中丢失变量类型?

python - JPype 和 JayDeBeAPI 返回 jpype._jclass.java.lang.Long

apache-spark - 带有条件的Pyspark窗口功能

scala - 如何将数据集写入Kafka主题?

java - sbt 0.13.17 "Error compiling sbt component ' 编译器接口(interface)”