我必须解析HDFS中Hadoop中Map Reduce程序中的PDF文件。所以我从HDFS获得PDF文件输入拆分,它必须被解析并发送到映射类。为了实现这个InputFormat,我经历了这个link。这些输入分裂如何被解析并转换为文本格式?解析Hadoop Map中的PDF文件Reduce
回答
在Hadoop中处理PDF文件可以通过扩展FileInputFormat类来完成。让类扩展它为WholeFileInputFormat。在WholeFileInputFormat类中,您重写getRecordReader()方法。现在每个pdf将作为单独输入拆分收到。然后这些个别拆分可以被解析以提取文本。这个link给出了一个理解如何扩展FileInputFormat的明确例子。
这取决于你的分裂。我认为(可能是错误的),您需要将每个PDF作为一个整体来解析它。有Java库可以做到这一点,Google知道它们在哪里。
鉴于此,您需要使用一种方法,在准备分析文件时将文件作为整体。假设你想在映射器中这样做,你需要一个将整个文件传送给映射器的读取器。你可以写自己的读者来做到这一点,或者也许已经有一个。您可能会构建一个扫描PDF目录的阅读器,并将每个文件的名称作为关键字传递给映射器,并将内容作为值传递给映射器。
实现WholeFileInput格式,而不是CombileFileInput格式解决了这个问题。因此,在WholeFileInput格式中,每个PDF文件将作为单个输入拆分接收。然后这些输入分割可以完全解析。 – WR10 2012-02-25 09:56:09
另外,当试图将整个文件解析为单个拆分时,所读取文件的大小是不是瓶颈?考虑一个TB文件的大小,如果有一个文件,那么它必须在一台机器上进行强制解析。我们如何克服这个瓶颈? – WR10 2012-02-27 08:55:08
那么,首先要确定是否真的需要整个PDF才能解析它。如果不是,那就解决了这个问题。 假设你不能分解它,那么我认为你必须通过文件名作为分割,并在你的映射器中直接从HDFS读取。 – 2012-02-27 13:00:32
- 1. Hadoop Map Reduce CustomRecordReader
- 2. Hadoop Map-Reduce。 RecordReader
- 3. Hadoop map/reduce structure
- 4. Hadoop Map Reduce读取文本文件
- 5. Map Reduce解析Hadoop中的JSON数据2.2
- 6. Hadoop Map/Reduce with database
- 7. Map-reduce hadoop错误
- 8. Pipeling hadoop map reduce jobs
- 9. Hadoop Map Reduce CustomSplit/CustomRecordReader
- 10. Hadoop Map-Reduce输出文件异常
- 11. 数据的Hadoop的map-reduce
- 12. 的Hadoop的Map Reduce程序
- 13. 关于Hadoop的map-reduce
- 14. Hadoop Map/Reduce工作分配
- 15. hadoop map reduce -archives not unpacking archives
- 16. hadoop map reduce job pending too long
- 17. Hadoop Map/Reduce WARR mapred.LocalJobRunner:job_local_0001 java.io.EOFException?
- 18. Eclipse Map和Reduce插件和Hadoop教程
- 19. Hadoop中的TSV输入Map Reduce
- 20. 如何高效地缓存hadoop map中的大文件reduce jobs?
- 21. 了解Hadoop中map和reduce任务的数量MapReduce
- 22. 的Hadoop的map-reduce映射编程
- 23. Hadoop推荐素数的map/reduce任务?
- 24. EC2上的Hadoop与Elastic Map Reduce
- 25. 多核机器上的Hadoop和map-reduce
- 26. Hadoop Map Reduce - 读取HDFS文件 - FileAlreadyExists错误
- 27. Hadoop/Elastic Map Reduce使用二进制可执行文件吗?
- 28. hadoop,map/reduce输出文件(part-00000)和分布式缓存
- 29. 什么是最简单的解释什么是Hadoop和Map/Reduce?
- 30. Hadoop Map Reduce CustomRecordReader减少阶段
此答案可能是你正在寻找的一部分:http://stackoverflow.com/a/9298965/698839 – 2012-02-24 20:52:35