【问题标题】:How to fix "hdfs://192.123.81.123:9000/atos/sample.pdf not a SequenceFile"如何修复“hdfs://192.123.81.123:9000/atos/sample.pdf 不是序列文件”
【发布时间】:2020-02-14 00:11:49
【问题描述】:

您好,我从 Apache Spark 开始, 从 HDFS 读取 PDF 时遇到问题

我尝试使用二进制文件解决我的问题,但我不知道如何实现,所有示例都是用 scala 语言编写的。听说 Apache Tika 提供了从二进制文件读取 PDF 的功能,但是只要我不知道如何读取这个 pdf 文件,这些知识都没用,现在我正在使用 PDFBox

        SparkConf sparkConf = new SparkConf().setAppName("spark-AI").setMaster("local[*]");
        JavaSparkContext javaSparkContext = new JavaSparkContext(sparkConf);
        JavaRDD<File> pdfFiles = javaSparkContext.objectFile("hdfs://192.123.81.123:9000/atos/sample.pdf");
        JavaRDD<PDDocument> pdfDocuments = a.map(file -> PDDocument.load(file));
        JavaRDD<String> pdfText = pdfDocuments.map(document -> new PDFTextStripper().getText(document));

实际输出是“java.io.IOException: hdfs://192.123.81.123:9000/atos/sample.pdf not a SequenceFile”

【问题讨论】:

  • 请包括堆栈跟踪,并澄清上面代码的哪一行被抛出。我认为异常并非来自 PDFBox。 a 是什么?

标签: java apache-spark pdf hdfs


【解决方案1】:

我使用 .binaryFile(path) 方法解决了我的问题,该方法返回 JavaPairRDD

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-27
  • 2015-12-18
  • 1970-01-01
  • 2018-10-01
  • 2023-02-09
  • 2023-04-02
  • 1970-01-01
相关资源
最近更新 更多