0
点赞
收藏
分享

微信扫一扫

hive3的join数据错误

Alex富贵 2022-03-11 阅读 59

我们生产使用的hive3.1.2版本,hadoop也是3版本,用户通过使用hive发现join数据错误。分析SQL发现,当3表(含3表)以上,hive join出来的数据是错误。后来我通过测试发现,不管是left join、inner join还是right join,数据都会出现错误,通过后来的其他测试发现,两个表使用in和exists作为条件查询,出来的数据也是错误的。这是hive3的一个重大bug,使用hive3的小心了。

这个bug纠缠了我好久,后来定位出来hive的bug,我们生产环境已经修复了该bug。分析发现hive从2.6.1版本就开始有这个bug

in 和exists案例sql:

select count(mdn) from oth_cdr_cleanout_d where month_id='202111' and pr_id='953' and mdn in (select accs_nbr from test_2922_01_13) ;


select count(*) from (select mdn from oth_cdr_cleanout_d d where month_id='202111' and exists (select accs_nbr from test_2922_01_13 where accs_nbr=d.mdn) group by mdn) t;

 在某些情况下,两表join也可能数据错误

举报

相关推荐

大数据技术-hive3

hive3 集群

Hive3 on Spark3配置

hive3 spark3

hive3 内外表

HIVE3 深度剖析 (上篇)

HIVE3 深度剖析 (下篇)

hive3 hql脚本传递参数

0 条评论