Encoder<Tuple2<String,Row>> encoder = Encoders.tuple(Encoders.STRING(), RowEncoder.apply(arrayStruct));
final Dataset<Tuple2<String, List<Row>>> keyToEntityPair = df.map(
(MapFunction<Row, Tuple2<String, List<Row>>>) row -> {
.
.
.
return new Tuple2<String, List<Row>>(entityKey, keyToEntityList);
}, encoder
)
最上面的是我尝试使用编码器的方法,但是我认为它不起作用,因为它需要一个行列表而不是一行。我收到的错误是关于地图的:
Cannot resolve method 'map(MapFunction<Row,Tuple2<List<Row>>>, Encoder<Tuple2<String,Row>>
我正在尝试升级到spark 2.3,并使用DS和DF而不是RDD。预先感谢您的建议!