sorting - 在 Pyspark 中对大量数据进行全球排名的有效方法
问题描述
我正在尝试使用 Pyspark 对大量数据进行全球排名。
我在网上搜索,发现很多答案都使用了window:
window_rank = Window.orderBy(F.asc('score'))
scores_df = scores_df.withColumn('rank', F.row_number().over(window_rank))
但是,这种方法似乎将所有数据洗牌到一个工作节点中,因此对于大量数据来说并不是最佳选择。
在 Pyspark 中是否有分布式方式来执行排名任务?
解决方案
推荐阅读
- xamarin - 在 iOS 应用设置中删除 Xamarin 调试设置
- node.js - Node.JS - 尝试从 DynamoDB 表中删除某些项目
- pagination - 在页面标题上显示页码
- r - 用于集群鲁棒性 se 的 R Wald 测试
- spring-boot - 在 Spring Boot 缓存和 GemFire 之间交替
- kubernetes - 无法在我的 digitalocean kubernetes 集群上使用 helm 安装 istio
- java - Vaadin 21 查看角色
- c# - Wpf:奇怪的 PreviewMouseDown 事件未在画布内触发
- dll - 当“npm run electron:serve”时,ffi-napi 得到“动态链接错误 win32 错误 126”
- postgresql - 同时生成不同区域的地图瓦片