Hive 具有空签入配置单元的左外部联接查询不工作

Hive 具有空签入配置单元的左外部联接查询不工作,hive,null,bigdata,hql,Hive,Null,Bigdata,Hql,我编写了一个查询来查找一个表中存在但另一个表中不存在的记录。这是一个问题 CREATE TABLE kai_prod.Held1Miss AS SELECT distinct jndheld.icerecordid from ( SELECT held1.icerecordid,held2.icerecordid icerecordid2 FROM kai_prod.tblheld116 held1 LEFT OUTER JOIN kai_prod.tblheld216 held2 ON

我编写了一个查询来查找一个表中存在但另一个表中不存在的记录。这是一个问题

CREATE TABLE kai_prod.Held1Miss AS 
SELECT distinct jndheld.icerecordid from 
(
SELECT held1.icerecordid,held2.icerecordid icerecordid2 
FROM kai_prod.tblheld116 held1 LEFT OUTER JOIN
kai_prod.tblheld216 held2 ON
held1.icerecordid = held2.icerecordid
) jndheld
WHERE jndheld.icerecordid2 IS NULL;
我在kai_prod.Held1 Miss得到了266585的计数

然而,当我使用下面的查询再次检查时,我发现上面的计数是错误的。上述计数应为零

select count(*) from kai_prod.tblheld116 INNER JOIN
kai_prod.Held1Miss ON
tblheld116.icerecordid = Held1Miss.icerecordid;
266585

这是配置单元中的错误还是NUll问题

请查找版本详细信息

我们正在Azure的Microsoft HDInsight发行版上运行带有spark的hadoop

蜂巢——版本 蜂巢1.2.1000.2.6.2.3-1 颠覆git://ctr-e134-1499953498516-137771-01-000004.hwx.site/grid/0/jenkins/workspace/HDP-parallel-ubuntu16/SOURCES/hive -r 4e24791861b0ce72f1185e572ffe1fd7f737dfdd 詹金斯于2017年9月14日星期四08:04:15 UTC编制 来自校验和为77da03c67efbe84d5e5b69bd4d91ad54的源

hadoop版本 Hadoop 2.7.3.2.6.2.3-1 颠覆git@github.com:hortonworks/hadoop.git-r 1ceeb58bb3bb5904df0cbb7983389bcaf2ffdob6 詹金斯于2017-09-14T07:25Z编制 用protoc2.5.0编译 来自校验和为90b73c4c185645c1f47b61f942230的源
此命令是使用/usr/hdp/2.6.2.3-1/hadoop/hadoop-common-2.7.3.2.6.2.3-1运行的。jar

左外部联接将始终从左表生成行

请使用内部联接以获得所需的结果


谢谢

左外部联接将始终从左表生成行

请使用内部联接以获得所需的结果


谢谢

我认为您的第二条sql可能是错误的:

select count(*) from kai_prod.tblheld116 INNER JOIN
kai_prod.Held1Miss ON
tblheld116.icerecordid = Held1Miss.icerecordid;

您应该加入kai_prod.tblheld216表,而不是kai_prod.tblheld116表来双重检查空键

我认为您的第二个sql可能是错误的:

select count(*) from kai_prod.tblheld116 INNER JOIN
kai_prod.Held1Miss ON
tblheld116.icerecordid = Held1Miss.icerecordid;
您应该加入kai_prod.tblheld216表,而不是kai_prod.tblheld116表来双重检查空键