行转列和列转行
表1:
_c1 | _c2 |
---|---|
a | 1 |
a | 2 |
b | 1 |
b | 2 |
b | 3 |
表2:
_c1 | _c2 |
---|---|
a | 1,2 |
b | 1,2,3 |
表述1:
表1变成表2,需要行转列,
表2变成表1,需要列传行。
换一种方式在来一次。
表3:
_c0 | _c1 | _c2 | _c3 | _c4 |
---|---|---|---|---|
user_1 | a | b | c | d |
表4:
_c0 | _c1 |
---|---|
user_1 | a |
user_1 | b |
user_1 | c |
user_1 | d |
表述2:
表3变成表4,需要行转列,
表4变成表3,需要列转行。
现在大家在处理 表2变成表1
的问题时一般在网上大多还是搜索行转列来解决,找的方案大概是 lateral view explode
;
处理 表3变成表4
的问题也是用的 lateral view explode
这种形式,可是概念上就有所不同。
表述1 是从数值变化上:
表1变成表2
,由5行变成了3列,叫行转列;
表2变成表1
,由1列变5行。
表述2 是从数据外形上:
表3变成表4
,由一行变到一列,叫行转列;
表4变成表3
,由一列变一行。
有点绕是吧,仔细捋捋就清楚了,挺有意思的。
所以看到这个问题的你更喜欢那种表述方式呢?