我有一個火花數據集,根據我的需要對數據進行分組和縮減。我需要擺脫元組,並只保留Tuple2 :: _ 2。 我想如下映射數據集:如何創建RowEncoder以將Tuple <A,Row>映射到Row?
sparkSession.read()
.parquet("s3://stuff/*")
.groupByKey((MapFunction<Row, Long>) value -> {
long stamp = value.getAs("timeStamp");
return stamp/600000;
}, Encoders.LONG())
.reduceGroups((ReduceFunction<Row>) (v1, v2) -> {
int fare1 = v1.getAs("totalFare");
int fare2 = v2.getAs("totalFare");
return fare1 < fare2 ? v1 : v2;
})
.map((MapFunction<Tuple2<Long, Row>, Row>) Tuple2::_2, RowEncoder.apply(null))
無法弄清楚如何架構提供給RowEncoder ::適用。 我正在閱讀this架構的鑲木地板文件。我沒有使用與Java的火花,所以我不能更具體的