apache-spark - 按字段对 Spark 数据帧进行重复数据删除
问题描述
假设我有以下火花数据框:
-----------------------
| geohash | timehash |
-----------------------
| x | y |
-----------------------
| x | z |
-----------------------
| z | y |
是否可以通过 geohash 字段对其进行重复复制并像这样收集第二个字段的结果?:
-----------------------
| geohash | timehash |
----------------------
| x | y , z |
-----------------------
| z | y |
解决方案
您可以使用groupBy
和aggregate
功能来实现这一点,如下所示
df.groupBy("geohash").agg(collect_list("timehash")).alias("timehash").show
//output
+-------+--------+
|geohash|timehash|
+-------+--------+
| x| [y, z]|
| z| [y]|
+-------+--------+
推荐阅读
- c# - 如何从另一个类更改项目的值?
- salesforce - Apex 错误 - 尝试访问记录值时变量不存在
- python - pdb 无法使用 from currentdir import mod
- c# - 如何计算有多少客户在 SQL 中购买了产品
- css - 如何修复自定义字体的 CORS 错误?
- python - 从给定范围内的张量中删除值
- c# - 生成顺序很重要的列表的powerset
- javascript - 部署到 HTTPS 后无法访问 req.user
- ios - SDWebImage 使用 Swift 在 CellView 中将图像设置为 UIButton
- android - 如何解决 Android P 中的密码学更改?