Как получить доступ и управлять данными PDF-файла в Hadoop?
Я хочу прочитать PDF-файл, используя hadoop, как это возможно? Я только знаю, что hadoop может обрабатывать только текстовые файлы, так что в любом случае есть возможность проанализировать PDF-файлы в текстовом формате.
Дайте мне предложение.
2 ответа
Самый простой способ - создать файл SequenceFile, содержащий файлы PDF. SequenceFile - это двоичный формат файла. Вы можете сделать каждую запись в SequenceFile PDF. Для этого вы должны создать класс, производный от Writable, который будет содержать PDF и любые метаданные, которые вам нужны. Затем вы можете использовать любую библиотеку java PDF, такую как PDFBox, для работы с PDF-файлами.
Обработка PDF-файлов в Hadoop может быть выполнена путем расширения класса FileInputFormat. Пусть класс, расширяющий его, будет WholeFileInputFormat. В классе WholeFileInputFormat вы переопределяете метод getRecordReader(). Теперь каждый PDF-файл будет получен как разделение на отдельные элементы. Затем эти отдельные разбиения могут быть проанализированы для извлечения текста. Эта ссылка дает четкий пример понимания того, как расширить FileInputFormat.