Считать Java объект как DataSet в scala spark - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть путь HDFS, который содержит данные, записанные объектом Java, скажем, Obj1, я хочу прочитать этот путь в моем коде Scala spark и прочитать его как DataSet из Obj1.

Один из способов сделать это - прочитать путь HDFS, наложить на него карту, чтобы создать новый объект Scala, соответствующий Obj1. Есть ли более простой способ сделать это, как мы знаем в java, мы можем сделать что-то вроде:

Dataset<Obj1> obj1DataSet = sparkSession.read().parquet("path").as(Encoders.bean(Obj1.class));

1 Ответ

0 голосов
/ 11 февраля 2020

Это можно сделать следующим образом:

val obj1Encoder: Encoder[Obj1] = Encoders.bean(classOf[Obj1])
val objDataSet : Dataset[Obj1] = sparkSession.read.parquet("hdfs://dataPath/").as(obj1Encoder)
...