apache-spark - 如何将 Java List<Date> 转换为 Spark Dataset<Row>

标签 apache-spark apache-spark-dataset

我有一个日期列表,我想将其转换为 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/

相关文章:

apache-spark - 使用 apache Spark Streaming 进行实时日志处理

python - PySpark:将 python 列表中的元素添加到 spark.sql() 语句中

scala - Spark 使用递归案例类

java - 在 Apache Spark 中跨执行器共享数据

apache-spark - 发现没有 H2O 实例的执行器,杀死了云

scala - Spark : Would a dataframe repartitioned to one node experience a shuffle when a groupBy is called on it?

scala - 如何在spark cassandra DataFrame中设置一致性级别ONE和ifNotExists

scala - 使用 Java 类的 Spark Scala 数据集

scala - Spark 错误 : Unable to find encoder for type stored in a Dataset

java - Spark数据集连接错误: Join condition is missing or trivial