Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
转换JavaPairDStream<;字符串,整数>;到JavaPairDStream<;整数,字符串>;,切换元组中的值(Java Spark)_Java_Apache Spark_Spark Streaming - Fatal编程技术网

转换JavaPairDStream<;字符串,整数>;到JavaPairDStream<;整数,字符串>;,切换元组中的值(Java Spark)

转换JavaPairDStream<;字符串,整数>;到JavaPairDStream<;整数,字符串>;,切换元组中的值(Java Spark),java,apache-spark,spark-streaming,Java,Apache Spark,Spark Streaming,我以为我能做到 final JavaPairDstream<String, Integer> y = ... ; final JavaPairDStream<Integer, String> x = y.mapToPair(item -> { return new JavaPairDStream<Integer, String>(item[1], item[0]); }); final

我以为我能做到

final JavaPairDstream<String, Integer> y = ... ;

final JavaPairDStream<Integer, String> x =
                    y.mapToPair(item -> {
        return new JavaPairDStream<Integer, String>(item[1], item[0]);
    });
final JavaPairDstream y=;
最终JavaPairdX流=
y、 mapToPair(项目->{
返回新的JavaPairDStream(项[1],项[0]);
});
但它给了我一个错误:

array required, but scala.Tuple2<java.lang.String,java.lang.Integer> found
需要数组,但找到scala.Tuple2

如何切换订单?

您的函数返回了错误的类型。是
mapToPair
返回
JavaPairDStream
,函数返回构成流的
Tuple2
对象

因此,你的声明应该是:

final JavaPairDStream<Integer, String> x = 
             y.mapToPair(item -> new Tuple2<>(item._2, item._1));
final JavaPairDStream x=
y、 mapToPair(项目->新Tuple2(项目2,项目1));

显然你也可以

JavaPairDStream<Integer,String> swappedPair = wordCounts.mapToPair(x -> x.swap());
JavaPairDStream swappedPair=wordCounts.mapToPair(x->x.swap());