gpt4 book ai didi

apache-spark - 在 Spark sql 中计数以检查查询是否返回空结果的替代方法

转载 作者:行者123 更新时间:2023-12-04 04:45:15 25 4
gpt4 key购买 nike

我知道 count 操作在 Spark 中可能很昂贵,所以为了提高性能我想用一种不同的方法来检查查询是否可以返回任何结果

这是我做的

var df = spark.sql("select * from table_name where condition = 'blah' limit 1");
var dfEmpty = df.head(1).isEmpty;

如果我使用上述解决方案来检查查询结果,它是否是一个有效的解决方案或者是否存在任何潜在的未捕获错误?不过速度要快得多。

最佳答案

isEmpty是数据的负责人。这对于检查是否为空是非常合理的,它是由 spark api 给出的并且经过优化......因此,我更喜欢这个......

同样在查询中,我认为不需要限制 1。


/**
* Returns true if the `Dataset` is empty.
*
* @group basic
* @since 2.4.0
*/
def isEmpty: Boolean = withAction("isEmpty", limit(1).groupBy().count().queryExecution) { plan =>
plan.executeCollect().head.getLong(0) == 0
}

关于apache-spark - 在 Spark sql 中计数以检查查询是否返回空结果的替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61898645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com