【发布时间】:2021-12-16 11:49:12
【问题描述】:
我想将 Spark 数据帧转换为具有不同字段名称的 POJO 数据集。我有一个字段的数据框:name,date_of_birth,它们的类型是StringType,DateType。
还有一个 POJO:
public class Person implements Serializable {
private String name;
private Date dateOfBirth;
}
我将其成功转换为数据集,代码如下:
Encoder<Person> personEncoder = Encoders.bean(Person.class);
Dataset<Person> personDS = result.as(personEncoder);
List<Person> personList = personDS.collectAsList();
仅当我在此之前将数据框的列名更改为 Person POJO 的列名。有什么方法可以告诉 Spark 在 POJO 端的字段之间进行映射?
我想到了 Gson 的@SerializedName(“date_of_birth”),但没有任何影响。
【问题讨论】:
标签: java apache-spark apache-spark-sql pojo apache-spark-dataset