Использование mapToPair для сопоставления строки - PullRequest
0 голосов
/ 20 апреля 2020

Это мой ввод

|sid|name|sec|
|p1|xxx|a|
|p2|yyy|b|
|p1|vvv|c|
|p1|xyz|d|

Я преобразовал кадр данных в JavaPairRdd.

 JavaRDD<Row> dfr=df.toJavaRDD();
        dfr.mapToPair(
                 row -> {
                    String key = row.getAs("pid");
                    return new Tuple2<String, Row>(key, row);
                }).foreach(l-> System.out.println(l));

и мой вывод должен быть (ключ, значение)

p1,[[p1,xxx,a],[p1,vvv,c],[p1,xyz,d]]
p2,[p2,yyy,b]

Но на выходе я получаю

(p1,[p1,xxx,a])
(p2,[p2,yyy,b])
(p1,[p1,vvv,c])
(p1,[p1,yyy,b])
...