You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spark SQL中列组逆透视的更优实现方式咨询

更优的Spark SQL逆透视实现方式

你完全不需要拆分两次UNPIVOT再合并结果,直接在一次UNPIVOT操作里包含所有需要转换的列即可,代码更简洁,执行效率也更高:

SELECT ID, Rank, Criteria
FROM Temp_Test_Hardik
UNPIVOT (
  Rank FOR Criteria IN (A1, A2, A3, B1, B2, B3)
)

如果你的Spark版本支持,也可以用stack函数实现逆透视,灵活性更强(静态列场景下和UNPIVOT效果一致):

SELECT ID, Rank, Criteria
FROM Temp_Test_Hardik
LATERAL VIEW stack(6, 
  'A1', A1, 
  'A2', A2, 
  'A3', A3, 
  'B1', B1, 
  'B2', B2, 
  'B3', B3
) AS Criteria, Rank

以上两种方式都能直接得到目标输出,无需额外的关联或合并操作。

内容的提问来源于stack exchange,提问作者ConfusedDeveloper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 15:13:11