一个问题困扰了2天时间,sql看着没问题,数据就是对不上,记录问题原因如下。
当使用hive或其他搜索引擎进行join操作时,要确保on的条件左右两边的类型一致,否则会出现很多莫名其妙的问题或结果。
比如:
t1表
字段 | 类型 |
---|---|
id | bigint |
name | string |
t2表
字段 | 类型 |
---|---|
voucher_id | string |
age | int |
在full join的过程中,采用t1.id=t2.voucher_id可能导致出现意外的结果数据。
使用cast转化下类型,再进行on操作,则会解决。