我以为我可以做
final JavaPairDstream<String, Integer> y = ... ;
final JavaPairDStream<Integer, String> x =
y.mapToPair(item -> {
return new JavaPairDStream<Integer, String>(item[1], item[0]);
});
但这给了我错误:
array required, but scala.Tuple2<java.lang.String,java.lang.Integer> found
如何切换订单?
答案 0 :(得分:1)
您的函数返回了错误的类型。是mapToPair
返回一个JavaPairDStream<Integer, String>
,您的函数返回了构成该流的Tuple2<Integer, String>
个对象。
所以您的陈述应为:
final JavaPairDStream<Integer, String> x =
y.mapToPair(item -> new Tuple2<>(item._2, item._1));
答案 1 :(得分:0)
显然您也可以这样做
JavaPairDStream<Integer,String> swappedPair = wordCounts.mapToPair(x -> x.swap());