簡體   English   中英

轉換JavaPairDStream <String, Integer> 到JavaPairDStream <Integer, String> ,在元組中切換值(Java Spark)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM