Исправлен тип данных раздела spark, отличный от схемы

#python #pyspark

Вопрос:

Я получаю ошибку при работе с паркетом:

 FileReadException: Error while reading file dbfs:/working/sku.parquet/weekofyear=201902/part-00313-tid-3664325539366673735-f56d9f80-64e6-41f9-9d9e-0e6e8c0f0637-537476-1.c000.snappy.parquet. Parquet column cannot be converted. Column: [factual_price_delta_1_top_2], Expected: DoubleType, Found: FLOAT
Caused by: SchemaColumnConvertNotSupportedException: 
org.apache.spark.SparkException: Job aborted due to stage failure: Task 6 in stage 9.0 failed 4 times, most recent failure: Lost task 6.3 in stage 9.0 (TID 429) (10.139.64.16 executor 0): com.databricks.sql.io.FileReadException: Error while reading file dbfs:/mnt/promo/working/kolesov_av1/loyalty_2035.parquet/weekofyear=201902/part-00313-tid-3664325539366673735-f56d9f80-64e6-41f9-9d9e-0e6e8c0f0637-537476-1.c000.snappy.parquet. Parquet column cannot be converted. Column: [factual_price], Expected: DoubleType, Found: FLOAT
 

Схема показывает, что столбец parquet имеет ожидаемый тип factual_price: double (nullable = true) данных, но его раздел dbfs:/working/sku.parquet/weekofyear=201902/part-00313-tid-3664325539366673735-f56d9f80-64e6-41f9-9d9e-0e6e8c0f0637-537476-1.c000.snappy.parquet имеет factual_price: float (nullable = true)

Я пробовал col('factual_price').cast(DoubleType()) , col('factual_price').cast(FloatType()) и пользовательский udf, но ничего не помогло. Я также попытался прочитать этот раздел дважды и перезаписать, но задание было прервано.

Есть ли какой-нибудь способ это исправить?