In base al seguente tutorial, Hive ha un tipo di mappa. Tuttavia, non sembra esserci un modo documentato per inserire una nuova coppia chiave-valore in una mappa Hive, tramite un SELECT
con qualche UDF o una funzione incorporata. È possibile?Come posso inserire una coppia chiave-valore in una mappa alveare?
Come chiarimento, supponiamo di avere una tabella denominata foo
con una singola colonna, digitata map
, denominata column_containing_map
.
Ora voglio creare una nuova tabella che abbia anche una colonna, digitata map
, ma voglio che ogni mappa (che è contenuta in una singola colonna) abbia una coppia chiave-valore aggiuntiva.
Una query potrebbe assomigliare a questo:
CREATE TABLE IF NOT EXISTS bar AS
SELECT ADD_TO_MAP(column_containing_map, "NewKey", "NewValue")
FROM foo;
Poi il tavolo bar
conterrebbe le stesse mappe come tavolo foo
tranne che ogni mappa in bar
avrebbe un coppia chiave-valore aggiuntivo.
Ciao Tariq, vedere le mie modifiche alla domanda. – merlin2011