当前位置: 首页 > 知识库问答 >
问题:

以高效的方式获取所有可能的JavaPairRDD组合键

公西英叡
2023-03-14

使用Spark,我的算法的中间步骤之一将输出(键、向量)到pairrdd。在这一步完成之后,我希望生成所有可能的键的2-组合,并对它们的值执行进一步的操作,即我希望有一个带有((Key1,Key2),(Vector1,Vector2))的PairRDD。

关于如何以可伸缩的方式实现这一点,有什么想法吗?我想不通。谢谢!!

共有1个答案

华哲茂
2023-03-14

据我所知,你想做笛卡尔乘法spark rdd,幸运的是,它已经提供了这个功能,它不需要在一台机器上收集所有的数据,而是通过在每个执行器上运行来做到这一点。

yourPairRdd.cartesian(yourPairRdd);

如果您想过滤结果中和为0的部分,只需使用filter函数

yourPairRdd.cartesian(yourPairRdd).filter(filterFunc);
 类似资料:
  • 问题内容: 我有一个字符数组c [] [],每个索引都有不同的映射。例如: 我需要以字符串形式返回此数组的所有可能字符组合。也就是说,对于上述字符数组,我应该返回:“ ag”,“ ah”,“ ai”,“ bg”,“ bh”,“ bi”,“ cg”,“ ch”,“ ci”等对于上面只有两件事的字符数组,这样做很容易,但是如果有更多的数组,那么我不知道该怎么办…这就是我要大家提供的帮助!:) 问题答案

  • 给定一个具有n个键的数组或对象,我需要找到长度的所有组合 给定的是可变的。 目前我正在使用这个: 输出为: 因此,如果我想从< code>n=4中得到二项式系数< code>x=3,我选择所有长度等于3的字符串。{abc,abd,acd,bcd}。 所以我分两步做。 有没有一种复杂度更小、效率更高的算法? 链接: 解决方案性能 (JSPerf)

  • 我正在组装一个java小程序,使任务在工作中更快、更高效。 用户定义项目列表需要拆分成的三个组的大小。列表中的每个项目根据它被放入三个组中的哪个组具有不同的值。小程序需要显示哪个组合的总价值最高。 示例:带有列的二维整数数组;项目编号、第1组中的值、第2组中的值和第3组中的值。 这样,用户定义组1有3个插槽,组2有3个插槽,组3有2个插槽。 小程序应不按特定顺序显示以下解决方案 我可以管理一种效率

  • java 现有list1[11,33,22] 效率最高穷举出两位以上任意相连的方式,如:

  • 问题内容: 我想获得所有可能的可用货币。 Java 7提供了这样的功能。 但是,我仍在使用Java 6进行开发和部署。我可以知道如何获得所有可能的货币吗?代码示例是最受欢迎的。 问题答案: 在研究了ISO表和Currency类文档之后,您似乎可以将货币作为代码或语言环境了。并且Locale类有一个方法。 因此,代码为: 希望这可以帮助。

  • 问题内容: 我有一个项目{a,b,c,d}的列表,当我需要生成所有可能的组合时, 您可以选择任意数量的项目 顺序不重要(ab = ba) 空集不被考虑 如果我们抓住可能性,那就应该是 我使用了以下递归方法: 当数组大时,有没有更有效的方法? 问题答案: 将组合视为一个二进制序列,如果所有4个都存在,则得到1111,如果缺少第一个字母,则得到0111,依此类推。对于n个字母,我们将得到2 ^ n -