我有一个日期列表,我想将其转换为 Spark 数据集,以便我可以在转换中使用相同的数据。
List<Date> dates = new ArrayList<>();
dates.add(date1);
我期望这样的事情:
Dataset<Row> ds = sparkSession.createDataset(dates);
最佳答案
如果您已经有一个日期列表,那么您可以创建一个行列表为
List<Row> data = new ArrayList<>();
for(Date date : dates) {
data.add(RowFactory.create(date));
}
然后是架构
为
StructType schema = new StructType(new StructField[] {
new StructField("date", DataTypes.DateType, false, Metadata.empty())
});
最后使用行列表和架构
创建数据集为
Dataset<Row> ds = sparkSession.createDataFrame(data, schema);
这应该给你一个有效的数据集
希望我的回答对您有帮助
关于apache-spark - 如何将 Java List<Date> 转换为 Spark Dataset<Row>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51207064/