Prima di tutto, io sono nuovo a Hadoop :)Esecuzione Map-Reduce lavoro su alcuni file/blocchi in HDFS
Ho un grande insieme di dati di file compressi con gzip (TB di documenti in file compressi con gzip intorno alla dimensione del 100-500mb ciascuno).
Fondamentalmente, ho bisogno di una sorta di filtraggio del mio input sulla mia mappa: ridurre i lavori.
Voglio analizzare questi file in vari modi. Molti di questi lavori devono solo analizzare i file di un certo formato (di certa lunghezza, contenente determinate parole ecc.) Di tutti i tipi di indici arbitrari (invertiti), e impiega troppo tempo per elaborare l'intero set di dati per ogni lavoro. Quindi voglio creare indici che puntino a specifici blocchi/file in HDFS.
Posso generare manualmente gli indici richiesti, ma come faccio a specificare esattamente quali (migliaia di) file/blocchi specifici desidero elaborare come input per i mappatori? Posso farlo senza leggere i dati sorgente in es. HBase? Voglio? O sto affrontando questo problema completamente sbagliato?
Quindi, se sto capendo correttamente, stai cercando un modo per elaborare solo un sottoinsieme dei file in un percorso di input? Come stai iniziando un lavoro, programmaticamente? – climbage
In che modo il targeting di blocchi HDFS anziché eseguire diversi lavori per diversi formati (file) ti rende più veloce l'attività? Puoi approfondire la tua domanda? –
Mi dispiace per essere stato così vago. Non mi sento ancora a casa nello stack di hadoop, quindi so che la mia terminologia e il mio modo di pensare sono leggermente off. L'esempio seguente potrebbe aiutare a spiegare cosa sto cercando di ottenere: dati 1.000.000 di file e un indice che indica esattamente quali 5.000 file contengono la parola * sunshine *, eseguire un lavoro di riduzione della mappa che analizza tutti i documenti contenenti le parole * sunshine * . – jkgeyti