如何在impala或hive中查询将null值按照上面相近行的值进行填充?

[图片] 类似在sqlserver中根据上一行填充本行的空白栏位,SQL处理方式 的用法公用表表达式CTE递归的方式。
关注者
5
被浏览
3,463

4 个回答

搜索了一下HIVE没有实现递归,那么你引用的帖子里的SQL那就没法用了。

SO,

这个问题可以用自表关联的方法来解决。

多说无益,如下

SQL:

SELECT * FROM (

select B.id,B.name,max(A.score)score from TABLE_A A

join TABLE_A B

where B.id > A.id

and B.score is null

and A.score is not null

group by B.id,B.name

UNION ALL

SELECT * FROM TABLE_A A WHERE SCORE is not null )tt

order by ID asc


P.S 因为用到了笛卡尔积,这个是比较危险的关联,慎用

谢邀,但是你是从哪里看得出来我能答这题的!!!!我是一个帮程序员写文案的软妹子,不要问我这么深奥的东西,我完全不知道大数据这东西到底是怎么实现的!!!!