有没有一种简单快捷的方法来动态地转换配置单元表?

yyhrrdl8  于 2021-06-24  发布在  Hive
关注(0)|答案(0)|浏览(299)

我想转换配置单元表中的行和列,获取所有行并为它们创建列,而列将成为行。
我的数据是这样的

Name    week1   week2   week3
John    5        6       3
Mary    4        2       5
Marc    7        8       9 
Jane    1        2       8

最终的输出应该是这样的

week    John    Mary    Marc    Jane
week1   5        4        7       1
week2   6        2        8       2
week3   3        5        9       8

我尝试过使用现有线程中的代码,但是将成为列的行太多(不仅仅是像查询中的“val”列那样的行),所以我需要找到一种动态的方法将它们转换为列(并且在查询中不逐个提及值)

SELECT id
  , bool
  , val
FROM (
  SELECT id
    , MAP('yes', yes, 'no', no) AS tmp_column
  FROM database.table ) x
LATERAL VIEW EXPLODE(tmp_column) exptbl AS bool, val

这个查询创建的新列val将不能满足格式数据的要求,因为我将有很多列

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题