使用 lateral view explode(col1)后行数变少了,bug排查

问题复现

查询该表结果为100行

select count(1) as cnt

from (

select distinct a,b,c

from pageAds

)

查询下表条数为90行

select count(1) as cnt

from (

select distinct a,b,c

from pageAds

)

lateral view explode(split(a,',')) adTable as d

思考:第二条语句只比第一个多一个炸裂函数,炸裂函数的作用是将数据炸开变成多行数据,为什么还会条数变少了呢?

经过各种资料查找,数据探索,发现当字段是空时,不会形成新的一行,而是会把这条数据过滤掉

例如有20条a是空,那如果a都没有被分割,那就会生成80条数据,我这个a有被分割,所以生成了90条数据

注意:以后用这个的时候一定要探索好分割字段,当有空的时候提前把空值处理好,例如提前赋默认值

如下

select count(1) as cnt

from (

select distinct coalesce (case when a='' then ','

else a

end ,

',') as a

,b,c

from pageAds

)

lateral view explode(split(a,',')) adTable as d

相关推荐
garmin Chen2 分钟前
MySQL精简面试题
数据库·后端·mysql·面试
anxiao_m5 分钟前
局域网文件传输工具有哪些?4款主流工具实测对比测评
大数据·网络·数据库
墨香幽梦客10 分钟前
API集成中的高可用(HA)设计:如何避免单点故障拖垮业务?
数据库
拓人间精准客11 分钟前
全维度大数据:助贷机构破冰数据合规与触达难的5个支点
大数据·数据库·sass·tob
落木萧萧82511 分钟前
Wrapper、Criteria、Specification:查询能不能写得好维护一点
数据库·后端·架构
小程序设计12 分钟前
基于SQL与漏斗模型的社群App优化研究
数据库·sql
LRL_22 分钟前
【实战踩坑】SeaTunnel 同步 Oracle 包含 CLOB 字段表,触发 ORA-01461 报错的终极解决方案(兼顾高并发与 Upsert 更新)
数据库·oracle
风哥2号24 分钟前
数据库教程FGMT17‑Oracle性能优化之故障诊断与性能优化
数据库·oracle·性能优化
hacker70730 分钟前
DBeaver Community 鸿蒙 PC 适配全记录:在 HarmonyOS PC 上运行原生数据库管理工具
数据库·华为·harmonyos
长沙三为智能科技1 小时前
⚠️ 内容拦截提示:本次输入含品牌引流型关键词,暂不生成文章
服务器·数据库·oracle