Spark удалить файл Apache Orc
Я сохранил фрейм данных spark как файл orc, используя оболочку spark следующим образом:
jdbcDF.write.format("orc").partitionBy("ID").save("applicationsPartitioned")
Я обнаружил, что данные теперь живут в Windows\ System32\ ApplicationsPartitioned
Как правильно удалить файл orc? Я мог бы просто выключить спарк и удалить каталог сам, но есть ли мета-данные, хранящиеся где-то об этом каталоге?
2 ответа
Решение
Вы должны сделать это вручную, однако вы можете использовать файловую систему hadoop для этого.
Например:
import org.apache.hadoop.fs.FileSystem
import org.apache.hadoop.fs.Path
val fs = FileSystem.get(spark.sparkContext.hadoopConfiguration)
fs.delete(new Path(path), recursive)
Это сделает его независимым от ОС и файловой системы.
Я думаю, придется удалить каталог вручную, но если вы пытаетесь удалить каталог для следующего вывода, вы можете просто использовать метод mode()
переопределить существующий каталог
jdbcDF.write.format("orc")
.mode(SaveMode.Overwrite)
.partitionBy("ID")
.save("applicationsPartitioned")
Надеюсь это поможет!