在 apache Spark 数据帧中读取 pdf 文件

问题描述 投票:0回答:2

我们可以使用下面的代码读取avro文件,

val df = spark.read.format("com.databricks.spark.avro").load(path)

是否可以使用 Spark 数据帧读取 pdf 文件?

scala apache-spark dataframe
2个回答
0
投票

您无法读取 pdf 并将其存储在 df 中,因为它无法中断数据框的列(基本上它没有标准模式),因此如果您想从 pdf 获取一些数据,请首先将其转换为csv 或 parquet,然后您可以从该文件中读取内容,然后创建一个数据框,因为它具有已定义的架构

访问此 gitbook 以了解有关可用于获取数据作为 Dataframe 的可用读取格式的更多信息

DataFrameReader — 从外部数据源加载数据


0
投票

您可以使用 Spark PDF 项目来完成此操作。

Spark PDF 项目为 Apache Spark 提供自定义数据源,允许您将 PDF 文件读入 Spark DataFrame。

from pyspark.sql import SparkSession

spark = SparkSession.builder \
    .master("local[*]") \
    .appName("SparkPdf") \
    .config("spark.jars.packages", "com.stabrise:spark-pdf_2.12:0.1.7") \
    .getOrCreate()

df = spark.read.format("pdf") \
    .option("imageType", "BINARY") \
    .option("resolution", "200") \
    .option("pagePerPartition", "2") \
    .option("reader", "pdfBox") \
    .load("path to the pdf file(s)")

df.select("path", "document").show()
© www.soinside.com 2019 - 2024. All rights reserved.