У меня есть класс
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class Store {
private Double probability;
private String store;
}
и json file
{"probability":"0.26","store":"abc/s3"}
{"probability":"0.57","store":"abc/s1"}
Я пытаюсь прочитать его как набор данных и преобразовать в карту. Чтение набора данных прошло успешно и может работать с ним с помощью команд spark sql, а также просматривать набор данных с помощью show () и т. Д. c
Dataset<Store> ds = ss.read().json(path).as(Encoders.bean(Store.class));
Map<String, Double> storeMap = ds.collectAsList().stream()
.collect(Collectors.toMap(Store::getStore, Store::getProbability));
Но преобразование в карту завершается с ошибкой. Эта ошибка связана с самой командой ds.collectAsList ()
No applicable constructor/method found for actual parameters
"org.apache.spark.unsafe.types.UTF8String";
candidates are:
"public static java.lang.Double java.lang.Double.valueOf(java.lang.String) throws java.lang.NumberFormatException",
"public static java.lang.Double java.lang.Double.valueOf(double)"
Что я делаю не так?