scala - Spark Dataframe 中的 minBy 等效项
问题描述
我正在寻找minBy
Spark Dataframe 中聚合的等效功能,或者可能需要手动聚合。有什么想法吗?谢谢。
https://prestodb.io/docs/current/functions/aggregate.html#min_by
解决方案
没有这样的直接函数可以从 Dataframe 中获取“min_by”值。
这是 Spark 中的两阶段操作。首先按列分组,然后应用min函数来获取每个组的每个数字列的最小值。
scala> val inputDF = Seq(("a", 1),("b", 2), ("b", 3), ("a", 4), ("a", 5)).toDF("id", "count")
inputDF: org.apache.spark.sql.DataFrame = [id: string, count: int]
scala> inputDF.show()
+---+-----+
| id|count|
+---+-----+
| a| 1|
| b| 2|
| b| 3|
| a| 4|
| a| 5|
+---+-----+
scala> inputDF.groupBy($"id").min("count").show()
+---+----------+
| id|min(count)|
+---+----------+
| b| 2|
| a| 1|
+---+----------+
推荐阅读
- angular - Primeng p-fileupload 组件可以开箱即用地处理返回类型吗?
- c# - 在 C# 中使用 VaultSharp 读取 Vault 机密
- .net - 如何从 .NET 中的 Web API 控制器访问需要由 API 控制器修改结构的数据结构
- android - 无法获取触发 USER_PRESENT 或 SCREEN_ON Android 模拟器的操作
- python - 以选定的时间间隔获取熊猫项目
- android - 带有协程的 Android MVVM Jetpack 导航组件
- html - 最近的跨度元素选择器 - 样式组件
- php - 在 Laravel 中取消作业
- sql - 在可重复()语句中使用当前日期?
- python - 如何在不更改 URL 的情况下在 Flask 中重定向