Я загружаю файл CSV, используя загрузчик CSV Spark, и преобразую его в конкретную Dataset
, предоставляя схему case class
и используя .as[T]
.
spark.read
.option("header", "false")
.option("dateFormat", "yyyy-MM-dd HH:mm:ss.SSS")
.schema(schemaOf[T])
.csv(filePath)
.as[T]
Мой вопрос здесь, у меня есть несколько систем, отправляющих один и тот же файл, и
скажем, если одна система отправляет файл, содержащий менее двух столбцов из моего определенного schema
тогда я хотел бы просто поставить null
для этих двух столбцов и загрузить все остальные столбцы.
И для всех других систем загружать все поля при отправке в соответствии с schema
.
Как мне сделать это эффективным способом? Я не хочу создавать case class
для каждой системы.