python - 在类型为 (List,Integer) 的元组的 RDD 中展平列表
问题描述
我在 PySpark 中有一个格式为 (List,Integer) 的元组 RDD。
例子:
(["Hello","How","are","you"],12)
我想将其转换为类型的 RDD
("Hello",12),
("How",12),
("are",12),
("you",12)
解决方案
您可以使用flatMap
:
rdd.collect()
# [(['Hello', 'How', 'are', 'you'], 12)]
rdd2 = rdd.flatMap(lambda r: [(i, r[1]) for i in r[0]])
rdd2.collect()
# [('Hello', 12), ('How', 12), ('are', 12), ('you', 12)]
推荐阅读
- python - Pandas 在同一列中获得最常用的值
- javascript - 如果我没有向 URL 提供参数值,我如何呈现 PageNotFound.js?
- python - setup_method 中的 pytest 夹具
- graphql - GraphQL DataLoader 应该将请求包装到数据库还是将请求包装到服务方法?
- c# - 无法在 .NET Core 中向 IConfiguration 添加扩展方法(但在其他类上工作)
- django - 如何在 django 中显示特定用户名的特定输出?
- python - 软件包的 pip 安装从源代码工作,从软件包失败
- spring-boot - 如何使用 RabbitMQ 消息将 Spring Boot 应用程序上传到 AWS EC2?
- reactjs - 如何使用 useState 修复自动 typeConversion
- node.js - 缓冲区中的 wkhtmltopdf 响应