Jika Anda ingin menggunakan format keluaran kustom Anda sendiri, Anda akan bisa mendapatkan perilaku yang diinginkan dengan RDD juga.
Lihat kelas-kelas berikut:
FileOutputFormat ,
FileOutputCommitter
Dalam format output file, Anda memiliki metode bernama checkOutputSpecs, yang memeriksa apakah direktori output ada. Di FileOutputCommitter Anda memiliki commitJob yang biasanya mentransfer data dari direktori sementara ke tempat terakhirnya.
Saya belum dapat memverifikasinya (akan melakukannya, segera setelah saya memiliki beberapa menit luang) tetapi secara teoritis: Jika saya memperluas FileOutputFormat dan menimpa checkOutputSpecs ke metode yang tidak membuang pengecualian pada direktori yang sudah ada, dan menyesuaikan metode commitJob dari custom output committer saya untuk melakukan logika mana yang saya inginkan (misalnya, Override beberapa file, tambahkan yang lain) daripada saya mungkin dapat mencapai perilaku yang diinginkan dengan RDD juga.
Format keluaran diteruskan ke: saveAsNewAPIHadoopFile (yang merupakan metode saveAsTextFile yang dipanggil juga untuk benar-benar menyimpan file). Dan Output committer dikonfigurasi di tingkat aplikasi.