У меня есть приложение Spark Streaming (v 2.4.0), которое выводит данные в формате паркета на минутной основе.Для некоторых случайных файлов у меня возникает проблема при попытке прочитать их с помощью parquet-tools или Amazon Athena.
Required field 'uncompressed_page_size' was not found in serialized data!
Вот как реализована часть вывода.
ds.foreachRDD { rdd =>
val filteredRDD = rdd.filter(_.isDefined).map(a => a.get)
if (!filteredRDD.isEmpty()) {
val spark = SparkSession.builder.config(rdd.sparkContext.getConf).getOrCreate()
import spark.implicits._
val now = utcNow()
val location = s"${appConfig.output}" +
s"/${datef(now, "yyyyMM")}" +
s"/${datef(now, "yyyyMMdd")}" +
s"/${datef(now, "yyyyMMddHH")}" +
s"/${appConfig.exchange}${datef(now, "yyyyMMddHHmmss")}"
filteredRDD.toDF().write.parquet(location)
}
}
Любая идея, чтопричина искры не пишет Обязательные поля заголовка?