У меня есть класс
@Getter
@Setter
@NoArgsConstructor
public class TestInput implements Serializable {
private Map<String, String> key1;
}
и json файл
[{"key1": {"key2": "key3"}}]
Я пытаюсь читать и работать с набором данных, используя функцию карты искры
Dataset<TestInput> input = sparkSession.read().json(inputPath).as(Encoders.bean(TestInput.class));
Dataset<TestInput> output = input.map((MapFunction<TestInput, TestInput>) x -> x, Encoders.bean(TestInput.class));
входные данные читаются правильно, так как я могу просмотреть ответ для input.show (), но ответ не включает фактическую карту
input.show()
+------+
|key1 |
+------+
|[key3]|
+------+
Но функция карты не работает (что также преобразует это в Java POJO) с ошибкой
A method named "valueArray" is not declared in any enclosing class nor any supertype, nor through a static import
Что я делаю не так?
Также, если я записываю ввод обратно в файл, я получаю обратно свой исходный json, поэтому он, вероятно, понимает карту, но не может преобразоваться в требуемый POJO