LETTURE RANDOM VELOCI = dati PREPARATIVI seduti in HBase! Usa HBase per quello che è ...
1. uno spazio per riporre un sacco di dati.
2. Un luogo da cui è possibile eseguire letture super veloci.
3. Un luogo in cui SQL non ti farà nulla di buono (usa java).
Sebbene sia possibile leggere i dati da HBase e fare tutti i tipi di aggregati direttamente nelle strutture dati Java prima di restituire il risultato aggregato, è meglio lasciare il calcolo su mapreduce. Dalle tue domande, sembra che tu voglia che i dati di origine per il calcolo siedano in HBase. In questo caso, il percorso che si desidera eseguire è avere HBase come dati di origine per un lavoro di ridimensionamento della mappa. Fare calcoli su questo e restituire i dati aggregati. Ma poi di nuovo, perché dovresti leggere da Hbase per eseguire un lavoro di mapreduce? Lasciare i dati seduti alle tabelle HDFS/Hive ed eseguire i lavori di mapreduce su di essi THEN carica i dati nelle tabelle Hbase "pre-preparati" in modo da poter eseguire letture casuali super veloci da esso.
fonte
2012-06-16 18:57:26
Grazie per la risposta. Se vado con l'opzione 2, ci sarà tutto il costo necessario per avviare e gestire un M/R dal lancio di Map/Redcude a shufffle e sort e cosa no. Come può essere in tempo reale come? – iCode
Inoltre, se ho bisogno di farlo oggi, la risposta è che non esiste ancora un modo pratico per farlo? Poiché 1 è lento, 3 e 4 sono futuri e 2 è incerto? – iCode
Sì, la mia risposta significa che oggi non c'è modo di farlo in tempo reale. Quando sarà disponibile la prossima versione (chiamata release dei coprocessori) avremo aggregazioni di tempo realt a livello di regione. –