Per il join esterno hive
, se una chiave di collegamento non esiste in una tabella, hive
inserisce NULL
. È possibile usare un altro valore per questo? Per esempio:Hive outer join: come modificare il valore NULL predefinito
Tabella 1:
user_id, name, age
1 Bob 23
2 Jim 43
Table2:
user_id, txn_amt, date
1 20.00 2013-12-10
1 10.00 2014-07-01
Se faccio un LEFT OUTER JOIN
su user_id
:
INSERT INTO TABLE user_txn
SELECT
Table1.user_id,
Table1.name,
Table2.txn_amt,
Table2.date
FROM
Table2
LEFT OUTER JOIN
Table1
ON
Table1.user_id = Table2.user_id;
voglio l'uscita sia in questo modo:
user_id, name, tnx_amt, date
1 Bob 20.00 2013-12-10
1 Bob 10.00 2014-07-01
2 Jim 0.00 2099-12-31
Nota le colonne txn_amt
e date
per Jim. C'è un modo in hive
per definire valori predefiniti come questo?
Grazie mille! –
C'è anche la funzione nvl che restituisce un valore predefinito specificato se il valore è NULL. –