バイナリファイルデータソース
Spark 3.0以降、Sparkはバイナリファイルデータソースをサポートしています。これによりバイナリファイルが読み取られ、各ファイルはファイルの生コンテンツとメタデータを含む単一のレコードに変換されます。次の列およびパーティション列を含むデータフレームを生成します。
path
: StringTypemodificationTime
: TimestampTypelength
: LongTypecontent
: BinaryType
バイナリファイル全体を読み取るには、データソースformat
をbinaryFile
として指定する必要があります。指定されたグロブパターンに一致するファイルをロードしてパーティション検出の動作を維持するには、一般的なデータソースオプションのpathGlobFilter
を使用できます。たとえば、次のコードは入力ディレクトリからすべてのPNGファイルを読み取ります。
spark.read.format("binaryFile").option("pathGlobFilter", "*.png").load("/path/to/data")
spark.read.format("binaryFile").option("pathGlobFilter", "*.png").load("/path/to/data")
spark.read().format("binaryFile").option("pathGlobFilter", "*.png").load("/path/to/data");
read.df("/path/to/data", source = "binaryFile", pathGlobFilter = "*.png")
バイナリファイルデータソースは、データフレームを元のファイルに書き戻すことはサポートしていません。