如何将Java List <date>转换为Spark Dataset <row>

时间:2018-07-06 09:20:25

标签: apache-spark apache-spark-dataset spark-java

我有一个要转换为Spark数据集的日期列表,以便可以在转换中使用相同的日期。

List<Date> dates = new ArrayList<>();
dates.add(date1);

我希望这样:

Dataset<Row> ds = sparkSession.createDataset(dates);

1 个答案:

答案 0 :(得分:1)

如果您已经有一个日期列表,则可以创建一个行列表作为

List<Row> data = new ArrayList<>();
for(Date date : dates) {
    data.add(RowFactory.create(date));
}

,然后是schema

StructType schema = new StructType(new StructField[] { 
                new StructField("date", DataTypes.DateType, false, Metadata.empty())
        });

,最后使用行列表schema

创建为数据集
    Dataset<Row> ds = sparkSession.createDataFrame(data, schema);

应该为您提供有效的数据集

我希望答案会有所帮助