Я использую Spark SQL (я упоминаю, что он находится в Spark в случае, если это влияет на синтаксис SQL - я еще недостаточно знаком, чтобы быть уверенным), и у меня есть таблица, которую я пытаюсь переструктурировать, но Я застрял, пытаясь транспонировать несколько столбцов одновременно.
В основном у меня есть данные, которые выглядят так:
userId someString varA varB
1 "example1" [0,2,5] [1,2,9]
2 "example2" [1,20,5] [9,null,6]
и я хотел бы одновременно взорвать оба varA и varB (длина всегда будет согласованной), так что конечный результат выглядит следующим образом:
userId someString varA varB
1 "example1" 0 1
1 "example1" 2 2
1 "example1" 5 9
2 "example2" 1 9
2 "example2" 20 null
2 "example2" 5 6
но я могу только представить, что один оператор explode (var) работает в одной команде, и если я попытаюсь связать их (т.е. создать временную таблицу после первой команды explode), то я, очевидно, получаю огромное количество повторяющиеся, ненужные строки.
Большое спасибо!