При попытке сопоставления со строкой набора данных, но с большим количеством проблем, я получаю ошибку затмения "Целевой тип этого выражения должен быть функциональным интерфейсом" на map(r -> new MapFunction<r, List<Tuple3<Long, Integer, Double>>>()
.Код ниже:
Dataset<Object> df1 = session.read().parquet(tableName).as(Encoders.bean(Object.class));
JavaRDD<List<Tuple3<Long, Integer, Double>>> tempData = df1.map(r -> new MapFunction<r, List<Tuple3<Long, Integer, Double>>>(){
// to get each sample individually
List<Tuple2<String, Integer>> samples = zipWithIndex((r.getString(9).trim().split(",")));
// Gets the unique identifier for that pos.
Long snp = r.getString(1);
// Calculates the distance for this pos for each sample.
// i.e. 0|0 => 0, 0|1 => 1, 1|0 => 1, 1|1 => 2
return samples.stream().map(t -> {
String alleles = t._1();
Integer patient = t._2();
List<String> values = Arrays.asList(alleles.split("\\|"));
Double firstAllele = Double.parseDouble(values.get(0));
Double secondAllele = Double.parseDouble(values.get(1));
// Returns the initial SNP id, patient id and the distance in form of Tuple.
return new Tuple3<>(snp, patient, firstAllele + secondAllele);
}).collect(Collectors.toList());
});
Любая помощь будет оценена.