我正在使用Spark SQL(我提到它是在Spark中,以防影响SQL语法 - 我还不够熟悉)我有一个表,我试图重新构建,但我是卡住试图同时转置多个列.
基本上我的数据看起来像:
userId someString varA varB
1 "example1" [0,2,5] [1,2,9]
2 "example2" [1,20,5] [9,null,6]
Run Code Online (Sandbox Code Playgroud)
我想同时爆炸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
Run Code Online (Sandbox Code Playgroud)
但我似乎只能在一个命令中使用单个explode(var)语句,如果我尝试链接它们(即在第一个explode命令之后创建临时表),那么我显然会得到大量重复,不必要的行.
非常感谢!