Spark SQL----Binary二进制文件数据源
自Spark 3.0以来,Spark支持二进制文件数据源,Spark读取二进制文件,并将每个文件转换为包含文件原始内容和元数据的单个记录。它生成一个DataFrame,其中包含以下列以及可能的分区列:
- path:StringType
- modificationTime:TimestampType
- length:LongType
- content:BinaryType
要读取整个二进制文件,需要将数据源格式指定为binaryFile。要加载路径与给定glob pattern匹配的文件,同时保持分区发现的行为,可以使用常规数据源选项pathGlobFilter。例如,以下代码从输入目录中读取所有PNG文件:
spark.read.format("binaryFile").option("pathGlobFilter", "*.png").load("/path/to/data")
二进制文件数据源不支持将DataFrame写回原始文件。