Я знаю, как передать структуру с внутренней структурой в UDAF из этого - Передать структуру в UDAF в искре
Но как мне обрабатывать случаи, когда схема внутренней структурынеизвестен или динамичен в том смысле, что он изменяется в зависимости от данных.Некоторые поля могут существовать или не существовать, поскольку входные данные не соответствуют конкретной схеме.Допустим, один набор данных имеет
root
|-- id:string (nullable = false)
|-- age: long (nullable = true)
|-- cars: struct (nullable = true)
| |-- car1: string (nullable = true)
| |-- car2: string (nullable = true)
| |-- car3: string (nullable = true)
|-- name: string (nullable = true)
А другой набор данных не имеет car3
root
|-- id:string (nullable = false)
|-- age: long (nullable = true)
|-- cars: struct (nullable = true)
| |-- car1: string (nullable = true)
| |-- car2: string (nullable = true)
|-- name: string (nullable = true)
Как мне написать UDAF, который принимает схему, котораяизменения на основе входных данных.