Это моя схема
root
|-- tags: array (nullable = true)
| |-- element: array (containsNull = true)
| | |-- element: struct (containsNull = true)
| | | |-- context: string (nullable = true)
| | | |-- key: string (nullable = true)
Я хочу получить имя элемента context и key и изменить тип данных этих переменных в Array.
Когда я пытаюсь получить поля, используя карту, она показывает что-то вроде этого.
arraydf.schema.fields.map(field1 =>
println("FIELDS: "+field1)
Output:
FIELDS:StructField(tags,ArrayType(ArrayType(StructType(StructField(context,StringType,true), StructField(key,StringType,true)),true),true),true)
Я хочу, чтобы моя схема была такой, элементы в зависимости от типа структуры должны иметь тип arrayType, я хочу универсальный способ. Пожалуйста, помогите мне.
root
|-- tags: array (nullable = true)
| |-- element: array (containsNull = true)
| | |-- element: struct (containsNull = true)
| | | |-- context: array (nullable = true)
| | | |-- key: array (nullable = true)