从Hive查询中获得最终结果(A左联接B)中的匿名数据(实际上不存在)

时间:2018-10-02 17:48:20

标签: sql hive mapreduce presto

我正在两个表A和B之间进行LEFT JOIN(A LEFT JOIN B)并将结果写入最终表。左侧的表A具有唯一的行,而表B的每个ID都有一行。当我对上面的左联接查询运行时,我在最终输出中得到重复项(表B中的未知数。它们在表B中实际上不存在)。可疑部分是表B中不存在最终结果中出现的行。我尝试以多种方式测试查询。

单元测试类型:

  1. 为表A,B取一个小示例并应用WHERE子句,然后运行查询。没有傻瓜,没有傻瓜就会有预期的输出。
  2. 仅对表A取一个小样本,并与B进行左连接,该B具有全部数据并运行查询。最终结果将dups(dups附带表B中不存在的未知数据)写入了Hive全新的表中,而没有进行分区。
  3. 仅对表A取一个小样本,并与B进行左连接,该B具有全部数据并运行查询。最终结果为dups(dups附带表B中不存在的未知数据)(仅运行SELECT查询)

有人可以分享您的想法为什么会发生这种情况吗?

0 个答案:

没有答案