Java Spark, Использование вложенного JSON для создания столбцов переупорядочения наборов данных - PullRequest
0 голосов
/ 04 апреля 2019

Я столкнулся с проблемой, когда мне нужно создать набор данных в Java Spark с использованием файла JSON, а затем вывести содержимое в файл паркета.

Проблема, с которой я сталкиваюсь, заключается в том, что файл паркета должен иметь определенную схему, а набор данных из JSON переупорядочивает данные в алфавитном порядке и делает это также для вложенного раздела JSON. Я знаю, что могу использовать select, а затем указать столбцы в нужном порядке. Моя проблема связана с переписыванием вложенных столбцов aNested и bNested специально. Как выбрать вложенные поля, чтобы переупорядочить их в соответствии с конечной необходимой схемой вывода паркета?

Схема набора данных JSON:

|-- a: string (nullable = true)
|-- b: array (nullable = true)
|     |-- element: struct (containsNull = true)
|     |     |-- aNested: string (nullable = true)
|     |     |-- bNested: long (nullable = true)
|     |     |-- cNested: long (nullable = true)
|-- cDate: string(nullable = true)

Требуется Окончательная схема паркета:

|-- a: string (nullable = true)
|-- b: array (nullable = true)
|     |-- element: struct (containsNull = true)
|     |     |-- cNested: long (nullable = true)
|     |     |-- aNested: long (nullable = true)
|     |     |-- bNested: string (nullable = true)
|-- cDate: string(nullable = true)
...