我有一个这样的表结构:
使用 SparkSQL,我想将这些列逆透视为行以生成如下输出:
到目前为止,有两个实现了这一点,我编写了两个查询,一个用于 A,一个用于 B,如下所示:
select ID, Rank, Criteria from (
SELECT *
FROM Temp_Test_Hardik
UNPIVOT( Rank for Criteria IN (
A1,
A2,
A3
)))
和
select ID, Rank, Criteria from (
SELECT *
FROM Temp_Test_Hardik
UNPIVOT( Rank for Criteria IN (
B1,
B2,
B3
)))
然后在这两个查询之间执行联接。
我想知道有没有更好的选择来实现这一目标?