【问题标题】:How to create New Rdd with all possible combination of elements other Rdd in spark java implementation?如何在 spark java 实现中创建具有其他 Rdd 元素的所有可能组合的 New Rdd?
【发布时间】:2021-09-17 11:21:40
【问题描述】:

如果 RDD1 = [p,k,t] 现在我想用所有可能的组合创建新的 RDD2,如下所示,长度为 k 的新 RDD .i.e.除了相同的元素组合,如(p,p),(k,k),(t,t)。

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: java apache-spark


【解决方案1】:

笛卡尔连接可以与过滤器一起使用:

    List<String> data = Lists.newArrayList("p", "k", "t");
    final JavaRDD<String> values = jsc().parallelize(data);
    final JavaPairRDD<String, String> result = values
            .cartesian(values)
            .filter(kv -> kv._1 != kv._2);

输出:

(p,k)
(p,t)
(k,p)
(k,t)
(t,k)
(t,p)

【讨论】:

    猜你喜欢
    • 2019-05-04
    • 2014-12-20
    • 1970-01-01
    • 2019-07-26
    • 1970-01-01
    • 1970-01-01
    • 2021-04-08
    • 1970-01-01
    • 2015-08-07
    相关资源
    最近更新 更多