Как преобразовать объект набора данных в фрейм данных?В моем примере я конвертирую файл JSON в dataframe и преобразую в DataSet.В набор данных я добавил некоторый дополнительный атрибут (newColumn
) и преобразовал его обратно в фрейм данных.Вот мой пример кода:
val empData = sparkSession.read.option("header", "true").option("inferSchema", "true").option("multiline", "true").json(filePath)
.....
import sparkSession.implicits._
val res = empData.as[Emp]
//for (i <- res.take(4)) println(i.name + " ->" + i.newColumn)
val s = res.toDF();
s.printSchema()
}
case class Emp(name: String, gender: String, company: String, address: String) {
val newColumn = if (gender == "male") "Not-allowed" else "Allowed"
}
Но я ожидаю, что новое имя столбца newColumn
добавлено в s.printschema()
.выходной результат.Но этого не происходит?Зачем?Какой-либо причине?Как мне этого добиться?