- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要使用由 2 列分隔的窗口函数,并对第 3 列和第 4 列进行不同计数。我可以在没有任何问题的情况下进行计数,但是使用不同的计数会引发异常 -
rg.apache.spark.sql.AnalysisException: Distinct window functions are not supported:
最佳答案
之前的答案提出了两种可能的技术:近似计数和 size(collect_set(...))
.两者都有问题。
如果您需要精确计数,这是在大数据中使用 COUNT(DISTINCT ...) 的主要原因,则近似计数将不起作用。此外,对于小数据,近似计数的实际错误率可能会有很大差异。size(collect_set(...))
可能会导致大数据处理显着放缓,因为它使用可变 Scala HashSet
,这是一个非常慢的数据结构。此外,您可能偶尔会得到奇怪的结果,例如,如果您在空数据帧上运行查询,因为 size(null)
产生违反直觉的 -1。由于多种原因,Spark 的原生非重复计数运行得更快,主要是它不必在数组中生成所有计数数据。
解决此问题的典型方法是使用自联接。您可以按您需要的任何列进行分组,计算非重复计数或任何其他不能用作窗口函数的聚合函数,然后连接回原始数据。
关于scala - 如何在 Spark/Scala 中使用窗口函数使用 countDistinct?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60627676/
如何使用 Doctrine queryBuilder 为 countDistinct expr 设置别名? $qb->addSelect($qb->expr()->countDistinct('_ch
使用多个动态聚合操作在 Spark 数据帧上聚合。 我想使用具有多个动态聚合操作(由用户在 JSON 中传递)的 Scala 对 Spark 数据帧进行聚合。我正在将 JSON 转换为 Map . 下
我发现Factory类中的distinct函数只接受一个参数 public static AggregateFunction countDistinct(Field field); 并且没有像dist
我需要使用由 2 列分隔的窗口函数,并对第 3 列和第 4 列进行不同计数。我可以在没有任何问题的情况下进行计数,但是使用不同的计数会引发异常 - rg.apache.spark.sql.Analys
我想用 where 条件计算数据集中的不同值。 这是我所做的: CountDistinct(IIF(Fields!Status.Value = 1, Count(Fields!Id.Value),no
我想用 where 条件计算数据集中的不同值。 这是我所做的: CountDistinct(IIF(Fields!Status.Value = 1, Count(Fields!Id.Value),no
我正在尝试使用 Scala 聚合 Spark 数据框中的列,如下所示: import org.apache.spark.sql._ dfNew.agg(countDistinct("filtered"
我有以下代码 Criteria criteria = this.getCriteriaForClass(DeviceListItem.class); Projection rowCountProjec
我正在使用 Grails 1.2.4。我想知道如何按“countDistinct”(降序)和投影中的 groupProperty 进行排序。 这是我的域: class Transaction {
我有一个非常简单的数据框 df = spark.createDataFrame([(None,1,3),(2,1,3),(2,1,3)], ['a','b','c']) +----+---+-
编辑:我已经完全编辑了这篇文章,所以我的问题的新描述包括了所有细节,而不仅仅是我之前认为相关的内容。也许这个新描述将有助于解决我面临的问题。 我有两个实体类,Customer 和 CustomerGr
根据 DataBrick's blog,我尝试使用应该在 Spark 1.5 中可用的 countDistinct 函数.但是,我得到以下异常: Exception in thread "main"
我无法弄清楚如何表示以下 JPQL 查询: SELECT count(e) FROM Foo e 使用标准 API。我正在尝试的是: CriteriaBuilder cb = em.getCriter
我有一个 PySpark 数据框,我想对几列进行分组,然后计算一些列的总和并计算另一列的不同值。由于 countDistinct 不是内置的聚合函数,我不能使用像我在这里尝试的那样的简单表达式: su
Projections.distinct(Projections.count("objectId")) 和 Projections.countDistinct("objectId") 谁能告诉我它们之
我是一名优秀的程序员,十分优秀!