将Java对象读取为Scala spark中的DataSet

问题描述 投票:0回答:1

我有一个HDFS路径,其中包含Java对象(例如Obj1)编写的数据,我想在我的Spark Scala代码中读取此路径,并将其作为Obj1的数据集读取。

一种方法是读取HDFS路径,在其上应用映射以创建对应于Obj1的新Scala对象。有没有更简单的方法可以做到这一点,正如我们在Java中所知道的,我们可以做一些类似的事情:

Dataset<Obj1> obj1DataSet = sparkSession.read().parquet("path").as(Encoders.bean(Obj1.class));
scala apache-spark-dataset
1个回答
0
投票

这可以如下进行:

val obj1Encoder: Encoder[Obj1] = Encoders.bean(classOf[Obj1])
val objDataSet : Dataset[Obj1] = sparkSession.read.parquet("hdfs://dataPath/").as(obj1Encoder)
© www.soinside.com 2019 - 2024. All rights reserved.