[英]Convert JavaPairDStream<String, Integer> to JavaPairDStream<Integer, String>, switching values in tuple (Java Spark)
我以為我可以
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
如何切換訂單?
您的函數返回了錯誤的類型。 是mapToPair
返回JavaPairDStream<Integer, String>
,您的函數返回Tuple2<Integer, String>
流的Tuple2<Integer, String>
對象。
因此,您的陳述應為:
final JavaPairDStream<Integer, String> x =
y.mapToPair(item -> new Tuple2<>(item._2, item._1));
顯然你也可以
JavaPairDStream<Integer,String> swappedPair = wordCounts.mapToPair(x -> x.swap());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.