gpt4 book ai didi

java - apache spark 使用 java lambda 重构键值对

转载 作者:行者123 更新时间:2023-11-30 11:11:59 25 4
gpt4 key购买 nike

我玩过 apache spark,我有一个键值对,它的值是一个 ArrayList,我想将一个值从 ArrayList 移出到 Key.Position,然后将 Key 移回 ArrayList。有没有办法用 lambda 表达式做到这一点?

在 Python 中它看起来像这样

newMap = sourceMap.map(lambda (key,((value1, value2), value3)) : (value1, (key, value2,value3)))

如何在 Java 中使用 lambda 执行此操作? sourceMap 和 newMap 是同一类型

JavaPairRDD<String, ArrayList<String> newMap = sourceMap.flatMapToPair((a, b) -> ??? )

最佳答案

这是我的解决方案

JavaPairRDD<String, ArrayList<String>> newRDD = source.mapToPair( lines -> {

ArrayList<String> values = new ArrayList<String>();

// restructure
values.add(lines._1());
values.add(lines._2()._1().get(0));
values.add(lines._2()._1().get(2));
values.add(lines._2()._2());

Tuple2<String, ArrayList<String>> tuple = new Tuple2<>(lines._2()._1().get(1), values);

return tuple;
});

关于java - apache spark 使用 java lambda 重构键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27123653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com