内容
Spark のデータ型の1つである binary 型のサイズ上限は 2147483647 byte (約2GB)のようです。
下記が、Databricks における実行コードとエラーメッセージです。binaryFile
として読み込むことで、BinaryType
のcontent
というカラムが生成されるのですが、そのカラムのエラーです。
df = spark.read.format('binaryFile').load('dbfs:/databricks-datasets/tpch/data-001/lineitem/*')
display(df)
FileReadException: Error while reading file dbfs:/databricks-datasets/tpch/data-001/lineitem/lineitem.tbl.
Caused by: SparkException: The length of dbfs:/databricks-datasets/tpch/data-001/lineitem/lineitem.tbl is 3863181353, which exceeds the max length allowed: 2147483647.
binary 型のサイズ上限をあげる方法は特にないそうなので、動画ファイルなどを binary 型のカラムに格納しようとしている方は注意してください。私は、取り込み後のインターフェースファイルを binary 型で管理できないかを検討しておりましたが、本制約により諦めました。