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