【发布时间】:2012-02-15 08:36:17
【问题描述】:
我想用hadoop阅读PDF文件,怎么可能? 我只知道hadoop只能处理txt文件,所以无论如何都要将PDF文件解析为txt。
给我一些建议。
【问题讨论】:
标签: hadoop hadoop-streaming hadoop-plugins hadoopy
我想用hadoop阅读PDF文件,怎么可能? 我只知道hadoop只能处理txt文件,所以无论如何都要将PDF文件解析为txt。
给我一些建议。
【问题讨论】:
标签: hadoop hadoop-streaming hadoop-plugins hadoopy
一个简单的方法是创建一个SequenceFile 来包含PDF 文件。 SequenceFile 是一种二进制文件格式。您可以将 SequenceFile 中的每条记录设为 PDF。为此,您将创建一个派生自Writable 的类,该类将包含 PDF 和您需要的任何元数据。然后您可以使用任何 java PDF 库,例如 PDFBox 来操作 PDF。
【讨论】:
在 Hadoop 中处理 PDF 文件可以通过扩展 FileInputFormat 类来完成。让扩展它的类是 WholeFileInputFormat。在 WholeFileInputFormat 类中,您覆盖 getRecordReader() 方法。现在每个 pdf 都将作为 单独的输入拆分 接收。然后可以解析这些单独的拆分以提取文本。这个link 给出了一个了解如何扩展 FileInputFormat 的清晰示例。
【讨论】: