Mapreduce Hadoop 的 PDF 输入格式

Posted

技术标签:

【中文标题】Mapreduce Hadoop 的 PDF 输入格式【英文标题】:PDF input format for Mapreduce Hadoop 【发布时间】:2015-12-09 13:07:01 【问题描述】:

您好,我正在使用 PDFBOX 外部库来解析 mapreduce 中的 pdf 输入文件,但出现以下错误。

错误:java.lang.ClassNotFoundException: org.apache.pdfbox.pdmodel.PDDocument 在 java.net.URLClassLoader$1.run(URLClassLoader.java:366) 在 java.net.URLClassLoader$1.run(URLClassLoader.java:355) 在 java.security.AccessController.doPrivileged(本机方法) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:354) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:425) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:358) 在 com.nielsen.grfe.processor.mapreduce.Pdfparser$PdfLineRecordReader.initialize(Pdfparser.java:109) 在 org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.initialize(MapTask.java:548) 在 org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:786) 在 org.apache.hadoop.mapred.MapTask.run(MapTask.java:341) 在 org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163) 在 java.security.AccessController.doPrivileged(本机方法) 在 javax.security.auth.Subject.doAs(Subject.java:415) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1671) 在 org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)

我正在使用以下依赖项

<dependency>
        <groupId>org.apache.pdfbox</groupId>
        <artifactId>pdfbox</artifactId>
        <version>1.8.10</version>
    </dependency>
    <dependency>
        <groupId>org.apache.pdfbox</groupId>
        <artifactId>fontbox</artifactId>
        <version>1.8.5</version>
    </dependency>

【问题讨论】:

@prashant khunt 我在代码中添加了分布式缓存..我仍然面临同样的错误.. 【参考方案1】:

1) 将pdfbox的jar文件也放入hadoop lib文件夹中。(使库jar在hadoop运行时可用)。

2) 重启 hadoop 集群。

或者

1) 确保您的 pdfbox 库对 hadoop 可用,方法是将其放置在分布式缓存中。

【讨论】:

org.apache.pdfbox.pdmodel.PDDocument 在 PDFBOX 1.8.10 中不可用。 根据 java 文档,pdfbox.apache.org/docs/1.8.10/javadocs/org/apache/pdfbox/… 该类存在于 PDFBOX 1.8.10 中。该类也存在于 jar 文件中。你能粘贴你得到的异常吗?

以上是关于Mapreduce Hadoop 的 PDF 输入格式的主要内容,如果未能解决你的问题,请参考以下文章

hadoop学习:《Hadoop权威指南第四版》中文PDF+英文PDF+代码

Hadoop Mapreduce的框架组成

Hadoop MapReduce输入输出类型

Hadoop MapReduce 多路径输入与多个输入

Hadoop Mapreduce的运行机制

30年开发经验大牛分享:数据算法,Hadoop/Spark大数据处理技巧pdf