Разбить (транспонировать?) Несколько столбцов в таблице Spark SQL

Я использую 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

но мне может показаться, что только одна инструкция взрыва (var) будет работать в одной команде, и если я попытаюсь связать их (т.е. создать временную таблицу после первой команды разнесения), то я, очевидно, получу огромное количество дубликатов, ненужных строк.

Большое спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос