Explotar (¿transponer?) Varias columnas en la tabla Spark SQL

Estoy usando Spark SQL (menciono que está en Spark en caso de que afecte la sintaxis de SQL; todavía no estoy lo suficientemente familiarizado para estar seguro) y tengo una tabla que estoy tratando de reestructurar, pero estoy quedarse atascado tratando de transponer varias columnas al mismo tiempo.

Básicamente tengo datos que se parecen a:

userId    someString      varA     varB
   1      "example1"    [0,2,5]   [1,2,9]
   2      "example2"    [1,20,5]  [9,null,6]

y me gustaría explotar tanto varA como varB simultáneamente (la longitud siempre será consistente), para que el resultado final se vea así:

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

pero solo puedo parecer que una sola declaración de explosión (var) funcione en un comando, y si trato de encadenarlos (es decir, crear una tabla temporal después del primer comando de explosión), obviamente obtengo una gran cantidad de duplicados innecesarios filas

¡Muchas gracias!