Ниже приведен пример операции с картой:
Код: Выделить всё
In the example below, instead of returning Dataset, I would like to return Dataset
Код: Выделить всё
Dataset output = dataset1.flatMap(new FlatMapFunction() {
@Override
public Iterator call(Row row) throws Exception {
ArrayList obj = //some map operation
return obj.iterator();
}
},Encoders.STRING());
Код: Выделить всё
Encoder encoder = new Encoder() {
@Override
public StructType schema() {
return join.schema();
//return null;
}
@Override
public ClassTag clsTag() {
return null;
}
};
Изменить. Это не копия упомянутого вопроса: ошибка кодировщика при попытке сопоставить строку фрейма данных с обновленной строкой, поскольку в ответе говорится об использовании Spark 1.x. в Spark 2.x (я этого не делаю) также ищу кодировщик для класса Row, а не устраняю ошибку. Наконец, я искал решение на Java, а не на Scala.
Подробнее здесь: https://stackoverflow.com/questions/432 ... k-datasets