Hive Apache配置单元-将一个表中的单个列合并到另一个表中,并使用新名称

Hive Apache配置单元-将一个表中的单个列合并到另一个表中,并使用新名称,hive,hiveql,Hive,Hiveql,我正在处理两个表,两个表都有一个同名的ID列,我需要找到一种方法将ID从一个表合并到另一个表中,并使用一个新的列名。此外,我需要保留左表中的所有行,并使用右表中的现有ID更新新列。如果右表中没有相应的ID,则在中合并列后的值应为null Table 1 Houses -------------------------------------- | ID | Address -------------------------------------- |

我正在处理两个表,两个表都有一个同名的ID列,我需要找到一种方法将ID从一个表合并到另一个表中,并使用一个新的列名。此外,我需要保留左表中的所有行,并使用右表中的现有ID更新新列。如果右表中没有相应的ID,则在中合并列后的值应为null

Table 1

Houses
--------------------------------------
| ID |  Address                    
--------------------------------------
| 1  |  123 Main
| 2  |  234 Center
| 3  |  345 North Street

Table 2
Houses that are blue
--------------------------------------
| ID |  Address
--------------------------------------
| 2  |  234 Center



Resultant table:  
Houses
    
--------------------------------------
| ID |  Address          |  BlueHouseID
--------------------------------------
| 1  |  123 Main         |  NULL
| 2  |  234 Center       |  2
| 3  |  345 North        |  NULL

提前感谢您对设置此查询的任何帮助。这最终将被写入一个覆盖文本文件,以供以后接收。

只需
左连接即可

select h.*, b.id as blue_house_id
from houses h
left join blue_houses b on b.id = h.id
或者,您可能希望在地址而不是
id
上进行匹配:

select h.*, b.id as blue_house_id
from houses h
left join blue_houses b on b.address = h.address

使用左联接

select h.*, hb.id as blue_id
from houses h left join
     houses_blue hb
     on h.id = hb.id