Domanda

Devo analizzare i file PDF, che sono in HDFS in un programma di riduzione della mappa in Hadoop. Quindi ottengo il file PDF da HDFS come Divisioni di input E deve essere analizzato e inviato alla classe Mapper. Per l'implementazione di questo inputFormat avevo superato questo collegamento . Come possono essere analizzate e convertite queste divisioni in formato di testo?

È stato utile?

Soluzione

L'elaborazione dei file PDF in Hadoop può essere eseguita estendendo FileInputFormat Classe. Lascia che la classe si estenda sia WholeInputFormat. Nella classe FullFileInputFormat si sovrappone il metodo getRecordRreader (). Ora ogni PDF verrà ricevuto come un Divisione individuale. Allora questi divisioni individuali può essere analizzato per estrarre il testo. Questo collegamento fornisce un chiaro esempio di comprensione di come estendere FileInputFormat.

Altri suggerimenti

Dipende dalle tue divisioni. Penso che (potrebbe essere sbagliato) che avrai bisogno di ogni PDF nel suo insieme per analizzarlo. Ci sono biblioteche Java per farlo e Google sa dove sono.

Detto questo, dovrai utilizzare un approccio in cui hai il file nel suo insieme quando sei pronto per analizzarlo. Supponendo che vorresti farlo nel mapper, avresti bisogno di un lettore che avrebbe consegnato file interi al mapper. Potresti scrivere il tuo lettore per farlo, o forse ce n'è già uno là fuori. Potresti creare un lettore che scansiona la directory di PDF e passa il nome di ciascun file come chiave nel mapper e il contenuto come valore.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top