問題介紹: hive兩張表關聯(lián)條件字段類型一個是string一個是bigint,關聯(lián)后發(fā)一個現象,就是所有長度比較小的數據關聯(lián)后正常結果,長度比較長的(比如示例中的18位)關聯(lián)后會發(fā)現數據量劇增。
解決辦法1--顯示轉換類型
將bigint轉換成string還是把string轉換成bigint后再做關聯(lián)都沒有問題
select t1.,t2. from ods_fund.fund_account_add t1 left join ods_fund.fund_account_add2 t2 on t1.data_id=cast(t2.data_id as string);
select t1.,t2. from ods_fund.fund_account_add t1 left join ods_fund.fund_account_add2 t2 on cast(t1.data_id as bigint)=t2.data_id;
解決辦法2--重建表