我们可以使用下面的代码读取avro文件,
val df = spark.read.format("com.databricks.spark.avro").load(path)
是否可以使用 Spark 数据帧读取 pdf 文件?
您无法读取 pdf 并将其存储在 df 中,因为它无法中断数据框的列(基本上它没有标准模式),因此如果您想从 pdf 获取一些数据,请首先将其转换为csv 或 parquet,然后您可以从该文件中读取内容,然后创建一个数据框,因为它具有已定义的架构
访问此 gitbook 以了解有关可用于获取数据作为 Dataframe 的可用读取格式的更多信息
您可以使用 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()