У меня был список столбцов, по этим столбцам подготовлена схема
код:
import org.apache.spark.sql.types._
val fields = Array("col1", "col2", "col3", "col4", "col5", "col6")
val dynSchema = StructType( fields.map( field =>
new StructField(field, StringType, true, null) ) )
тогда схема подготовлена как
StructType(StructField(col1,StringType,true), StructField(col2,StringType,true),
StructField(col3,StringType,true), StructField(col4,StringType,true),
StructField(col5,StringType,true), StructField(col6,StringType,true))
Но я получаю NullPointerException
, когда пытаюсь прочитать данные из файла json, используя схему выше.
// reading the data
spark.read.schema(dynSchema).json("./file/path/*.json")
Но это работает, если я добавлю массив в StructType.
Пожалуйста, помогите мне создать динамическую схему.
Редактировать: если я создаю схему с полями выше, я могу читать данные из json.
StructType(Array(
StructField("col1",StringType,true), StructField("col2",StringType,true),
StructField("col3",StringType,true), StructField("col4",StringType,true),
StructField("col5",StringType,true), StructField("col6",StringType,true)))