我有sparkv2.4,我试图在sparksql中运行pivot函数,但每次都会出错。
表格标题: prof_sk, prod_sk, rep_sk, metric_sk, metric_value
```
select *
from (
select prof_sk, prod_sk, rep_sk
from pivot_temp) as t
PIVOT
(
SUM(metric_value) for metric_sk in (attainment, sales_trx, sales_nrx)) AS PivotTable
数据透视前的示例数据:
![](https://i.stack.imgur.com/NWHWE.png)
需要数据透视后的数据:
![](https://i.stack.imgur.com/CxMMY.png)
以及如何通过sparksql实现unvipot
1条答案
按热度按时间qgelzfjb1#
内部查询应包含透视所使用的所有列。
您可能会遇到的下一个错误可能与度量类型有关:因为它们是字符串,所以必须用引号引起来。
有时像这样(未测试):