作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
需要将 hive 表中的数据合并为一行。目的是捕获 'N'
以外的数据/值,即应该为所有 'N'
值捕获除 'col1'
以外的任何值
表格1:
col1 col2 col3 col4 col5 col6
-----------------------------
GHY BG Q N N N
GHY BG N T N N
GHY BG N N A N
GHY BG N N N Z
Select col1, col2,array(
max(CASE WHEN col3 == 'Q' THEN 'Q' ELSE 'None' END),
max(CASE WHEN col4 == 'T' THEN 'T' ELSE 'None' END),
max(CASE WHEN col5 == 'A' THEN 'A' ELSE 'None' END),
max(CASE WHEN col6 == 'Z' THEN 'Z' ELSE 'None' END))
FROM table1 GROUP BY col1,col2;
GHY BG ['None','None','A','None']
GHY BG ['Q','T','A','Z']
FAILED: SemanticException [Error 10025]: Line 2:11 Expression not in GROUP BY key 'Q'
select col1,col2,collect_set(col)
from (select col1,col2,t.col
from tbl
lateral view explode(array(col3,col4,col5,col6)) t as col
where t.col <> 'N'
) t
FAILED: SemanticException [Error 10025]: Line 1:7 Expression not in GROUP BY key 'col1'
最佳答案
另一种可能的解决方案(受提供的启发)是:
Select col1,col2,array(concat(max(col3),max(col4),max(col5),max(col6)))
group by col1,col2;
max()
将选择最大值。因此,您可能需要将不需要的值更改为
'aa'
之类的值。否则可能会选择其他值。
col1 col2 col3 col4 col5 col6
-----------------------------
GHY BG Q N N N
GHY BG N T N N
GHY BG N N A N
GHY BG N N N Z
['Q','T','N','Z']
col1 col2 col3 col4 col5 col6
-----------------------------
GHY BG Q a a a
GHY BG a T a a
GHY BG a a A a
GHY BG a a a Z
['Q','T','A','Z']
关于arrays - 梳理hive中表的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54697954/
目录 Redis有两种持久化方案: RDB持久化 执行时机 RDB原理 总结
目录 <chrono> 时间间隔duration 常用的duration 时间点time_point
我是一名优秀的程序员,十分优秀!