Я обычно делаю что-то подобное. В моем случае я делаю ETL и добавляю данные за один день в файл parquet :
Ключом является работа с данными, которые вы хотите записать (в моем случае фактическая дата) , убедитесь, что разделен на столбец date
и перезапишите все данные для текущей даты .
Это сохранит все старые данные. Как пример:
(
sdf
.write
.format("parquet")
.mode("overwrite")
.partitionBy("date")
.option("replaceWhere", "2020-01-27")
.save(uri)
)
Также вы можете взглянуть на delta.io , который является расширением формата parquet , который предоставляет некоторые интересные функции, такие как КИСЛОТА транзакции.