如何将列数据转换为 impala 中的行数据 我尝试了一些在黑斑羚中无效但在蜂巢中工作的解决方案。
Table name : test
Data:
day name jobdone
2017-03-25 x_user 5
2017-03-25 y_user 10
2017-03-31 x_user 20
2017-03-31 y_user 1
我希望数据应该像hive中的impala no
Required Output Data
Day x_user y_user
2017-03-05 5 10
2001-03-31 20 1
我可以使用Map和collect_list在Hive中完成。我怎么能在Impala做。
答案 0 :(得分:2)
使用case
+ min()
或max()
聚合:
select day,
max(case when name='x_user' then jobdone end) x_user,
max(case when name='y_user' then jobdone end) y_user
from test
group by day;
如果每个用户每天有很多记录,则使用sum()
代替max()
,您需要将它们相加。