遇到一个 hive sql 的 bug?

2020-11-26 16:55:56 +08:00
 e583409
hive 里面为什么第一条 sql 查不到数据呢?
select t1.pubmed_id,t2.issn from docs_list_temp t1 inner join ods.docs_merge t2 on t1.pubmed_id = t2.pubmed_id where t1.pubmed_id in (29492850,32277430);

能查出来 2 条数据
select * from docs_list_temp t1 where t1.pubmed_id in (29492850,32277430);

能查出来 2 条数据
select * from ods.docs_merge t2 where t2.pubmed_id in (29492850,32277430);
1524 次点击
所在节点    程序员
7 条回复
e583409
2020-11-26 17:01:08 +08:00
两个表的 pubmed_id 字段类型都是 bigint
keyakizaka46
2020-11-26 18:12:19 +08:00
按照我的排查思路,先用 left join 看看能不能关联的上,不行的话去掉限制条件,再不行只能再检查字段类型了
leiuu
2020-11-26 18:31:29 +08:00
里边数据是什么样的呢,能否分享下
perfee
2020-11-26 22:29:09 +08:00
这种简单的 sql,优化器都不会做太多调整的。
可以先看下执行计划(直觉是感觉不会是 sql 解析优化层面的问题,也不是执行问题),大概率是数据问题。
zhangysh1995
2020-11-27 10:39:46 +08:00
可能是个 bug,可以先排查,看一下 explain 这些的。
heyyyy
2020-11-27 13:19:31 +08:00
执行计划贴出来康康
Comdex
2020-11-27 14:01:03 +08:00
被优化掉了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/729559

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX