Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Catatan
cloudFiles.cleanSource tersedia di Databricks Runtime 16.4 dan ke atas.
Gunakan cloudFiles.cleanSource untuk memindahkan atau menghapus file dari direktori sumber setelah diproses. Menghapus file yang telah diproses mengurangi biaya penyimpanan dan memperpendek durasi operasi listing di masa depan.
| Mode | Description |
|---|---|
OFF (standar) |
File di direktori sumber tidak dipindahkan atau dihapus. |
MOVE |
File di direktori sumber dipindahkan ke jalur yang ditentukan setelah cloudFiles.cleanSource.moveDestination durasi retensi (default 30 hari) yang ditentukan oleh cloudFiles.cleanSource.retentionDuration elapses. |
DELETE |
File di direktori sumber dihapus setelah durasi retensi (default 30 hari) yang ditentukan oleh cloudFiles.cleanSource.retentionDuration e-laps. |
| Opsi tambahan | Default | Nilai yang valid | Description |
|---|---|---|---|
cloudFiles.cleanSource.retentionDuration |
30 days |
String CalendarInterval seperti 14 days, , 2 weeksatau 1 month |
Jumlah waktu tunggu sebelum file yang diproses menjadi kandidat untuk dibersihkan dengan sumber bersih. Harus lebih besar dari 7 hari untuk DELETE. Tidak ada batasan minimum untuk MOVE. |
cloudFiles.cleanSource.waitForCompletion |
false |
true, false |
Opsi ini tersedia di Databricks Runtime 19 dan ke atas. Sumber bersih secara default adalah operasi dengan usaha terbaik. Jika aliran selesai memproses file sebelum sumber bersih selesai memindahkan atau menghapus file, operasi sumber bersih dihentikan. Pengaturan cloudFiles.cleanSource.waitForCompletion memaksa aliran tetap hidup sampai sumber bersih selesai memindahkan atau menghapus file. Ini dapat memperpanjang waktu run stream jika ada banyak file yang harus dihapus.Ini hanya berlaku ketika stream selesai dengan sendirinya (misalnya, trigger yang availableNow menguras semua file). Menghentikan atau membatalkan stream secara manual akan langsung mengakhiri operasi sumber bersih, bahkan ketika opsi ini diatur. |
cloudFiles.cleanSource.moveDestination |
None | Penyimpanan cloud atau jalur volume Katalog Unity | Jalur untuk mengarsipkan file yang telah diproses ke lokasi cloudFiles.cleanSource ketika cloudFiles.cleanSource diatur ke . Ini bisa menjadi jalur penyimpanan cloud atau jalur volume Katalog Unity (misalnya, /Volumes/my_catalog/my_schema/my_volume/archive/).Lokasi pemindahan harus:
Auto Loader harus memiliki izin tulis ke direktori ini. |
Pertimbangan sebelum mengaktifkan cloudFiles.cleanSource
- Azure Databricks tidak menyarankan menggunakan opsi ini ketika beberapa aliran mengonsumsi data dari direktori sumber yang sama. Aliran tercepat membersihkan file, jadi aliran yang lebih lambat tidak pernah mengambilnya.
- Mengaktifkan fitur ini mengharuskan Auto Loader untuk mempertahankan status tambahan dalam titik pemeriksaannya, yang menimbulkan overhead performa tetapi memungkinkan pengamatan yang ditingkatkan melalui
cloud_files_statefungsi bernilai tabel. Lihat fungsi bernilai tabelcloud_files_state. - Sumber bersih menggunakan pengaturan saat ini untuk memutuskan apakah akan atau
MOVEDELETEfile tertentu. Misalnya, misalkan bahwa pengaturan adalahMOVEketika file awalnya diproses tetapi diubah menjadiDELETEketika file menjadi kandidat untuk pembersihan 30 hari kemudian. Dalam kasus ini, sumber bersih akan menghapus file tersebut. - File tidak dijamin akan dibersihkan segera setelah kedaluwarsa
cloudFiles.cleanSource.retentionDuration. Untuk menjaga biaya tetap rendah, Auto Loader membersihkan file bersamaan dengan pemrosesan aliran dan mengakhiri begitu pemrosesan aliran selesai atau dihentikan. File yang sebelumnya kandidat untuk dibersihkan, tetapi tidak dapat dibersihkan selama pemrosesan aliran akan diambil saat Auto Loader dijalankan berikutnya.
Catatan tentang sumber bersih
Sumber bersih hanya berjalan jika ada batch file yang harus diproses. Ini bukan proses latar belakang yang berjalan secara independen dari konsumsi. Jika tidak ada file baru yang harus dimasukkan ke direktori sumber, sumber bersih tidak akan dimulai untuk stream saat ini. Akibatnya, jika sebuah aliran berhenti menerima file baru, file yang sudah melewati durasi retensi tidak akan dibersihkan sampai aliran berikutnya memproses batch baru.
Persyaratan batch ini berlaku terlepas dari
cloudFiles.cleanSource.waitForCompletion. Opsi itu hanya menjaga stream tetap hidup cukup lama untuk menyelesaikan pembersihan yang sedang berlangsung dalam satu run. Sumber bersih tidak dimulai ketika tidak ada batch yang harus diproses.Jika sebuah file dimasukkan pada run stream Nth, file
commit_timeuntuk file tersebut diatur pada run stream N+1.commit_timeharus diatur sebelum sumber bersih dapat menentukan apakah file memenuhi syarat untuk dipindahkan atau dihapus, sehingga file paling awal dapat menjadi kandidat untuk pembersihan adalah run stream N+2.Pengaturan
commit_timememang perlu tapi tidak cukup. Sebuah file hanya dibersihkan setelah durasi retensinya berakhir, diukur daricommit_time. Misalnya, dengan defaultcloudFiles.cleanSource.retentionDuration30 hari, file yang diproses hari ini tidak memenuhi syarat untuk dibersihkan sampai 30 hari setelahcommit_timefile tersebut ditetapkan. Ini berlaku terlepas dari berapa banyak aliran yang terjadi di antaranya. Kedua kondisi harus dipenuhi sebelum file dipindahkan atau dihapus.