scala - 将元素组合成rdd中的数组
问题描述
如何将 an 转换RDD[(Int,Int)]
为RDD[Array[(Int,Int)]]
我将元素与其键组合在一起的位置。
让我们说
(0,0),(1,0),(1,1),(0,1)
我希望它是一个数组 arr1 = ((0,0),(1,0)) 和一个 arr2 ((1,1),(0,1)) 所以结果 rdd 将 arr1,arr2 作为数组.
解决方案
您基本上要做的是RDD[TupleN]
按i
th 元素对 an 进行分组。您可以使用
rdd.groupBy(_._1)
创建一个
Map[T, RDD[TupleN]]
其中键将是第i
th 元素(即,在您的示例中为 0 或 1)。
然后你可以将此映射的值映射到一个数组mapValues(_.toArray)
推荐阅读
- mysql - 用 Typeorm QueryBuilder 表示 Mysql 原始查询
- sql - 检查并完成 SQL 视图中的缺失数据
- javascript - 格式化 JSON 对象,从单引号到双引号
- reactjs - 如何在反应中登录到控制台
- python - Python:带有存储在变量中的grep值的Shell总是附加一行
- ios - 如何使用音乐网址数组在 MPMusicPlayerController 上播放音乐
- android - 发送广播到关闭的 Activity
- selenium-webdriver - 机器人框架 - Selenium - ChromeOptions“提示下载”在下载文件时不起作用
- python - 计算两对 X 和 y 之间相似度的最佳实践是什么
- javascript - 从分析网络应用程序中的二维数组获取数据