Hive / Impala Selezionare e medio tutte le versioni RowKey
Domanda
Mi sto chiedendo se c'è un modo per ottenere precedenti versioni di un particolare chiarore in Hbase senza dover scrivere un programma di MapreDuce e mettere in media i valori.Ero curioso se fosse possibile usare alveare o impala (o un altro programma simile) e come lo faresti.
Il mio tavolo è simile a questo:
Composite keys Values
(md5 + date + id) | (value)
.
Vorrei mettere in media tutti i valori per la data particolare e una stringa secondaria dell'ID ("411") per tutte le versioni.
Grazie prima del tempo.
Soluzione
Impala utilizza il metastore dell'alveare per mappare la sua nozione logica di un tavolo sui dati fisicamente memorizzati in HDFS o HBASE (per ulteriori dettagli, consultare Documentazione di Cloudera ).
Per saperne di più su come dire a The Hive Metastore sui dati memorizzati in HBASE, consultare Documentazione Hive .
Sfortunatamente, come notato nella documentazione dell'alveare legata sopra:
.Attualmente non c'è modo di accedere all'attributo Timestamp HBASE e Le query accedono sempre ai dati con l'ultimo timestamp
Ci fu un po 'di lavoro per aggiungere questa funzione contro una versione precedente di Hive in Hive- 2828 , anche se sfortunatamente che il lavoro non è stato ancora unito nel bagagliaio.
Quindi per la tua applicazione dovrai ridisegnare il tuo schema HBASE per includere una colonna "Versione", dillo a Hive Metastore su questa nuova colonna e crea la tua applicazione a conoscenza di questa colonna.