Connecting Processors
Connecting Processors
Setiap Prosesor memiliki seperangkat "Hubungan" yang ditentukan yang dapat digunakan untuk mengirim data. Ketika Prosesor selesai menangani FlowFile, hal itu mentransfernya ke salah satu Hubungan ini. Memungkinkan pengguna untuk mengonfigurasi cara menangani FlowFiles berdasarkan hasil Pemrosesan. Misalnya, banyak Prosesor mendefinisikan dua Hubungan: sukses dan gagal. Pengguna kemudian dapat mengonfigurasi data untuk dirutekan melalui aliran satu arah jika Prosesor berhasil memproses data dan merutekan data melalui aliran dengan cara yang sama sekali berbeda jika Prosesor tidak dapat memproses data karena alasan tertentu. Atau, tergantung pada use case, mungkin hanya mengarahkan kedua hubungan ke rute yang sama melalui aliran.
Sekarang setelah kita menambahkan dan mengonfigurasi prosesor GetFile dan menerapkan konfigurasi, kita dapat melihat di sudut kiri atas Prosesor sebuah ikon Alert () yang menandakan bahwa Prosesor tidak dalam status valid. Melayang di atas ikon ini, kita dapat melihat bahwa hubungan sukses belum ditentukan. Ini berarti bahwa kita belum memberi tahu apa yang harus dilakukan dengan data yang ditransfer oleh Prosesor ke hubungan yang sukses.
Kita sekarang dapat mengirim output dari GetFile Processor ke PutFile Processor.
Arahkan kursor ke Prosesor GetFile dengan mouse dan Ikon Koneksi () akan muncul di tengah Prosesor. Kita dapat menyeret ikon ini dari Prosesor GetFile ke Prosesor PutFile. Ini memberi kita dialog untuk memilih hubungan mana yang ingin kita sertakan untuk koneksi ini. Karena GetFile hanya memiliki satu hubungan, sukses, itu secara otomatis dipilih.Mengklik pada tab Pengaturan menyediakan beberapa opsi untuk mengkonfigurasi
Bagaimana seharusnya koneksi ini berperilaku:
Kita bisa memberi nama Connection, jika kita mau. Jika tidak, nama Koneksi akan didasarkan pada hubungan yang dipilih. Kita juga dapat mengatur kedaluwarsa untuk data. Secara default, ini diatur ke "0 detik" yang menunjukkan bahwa data tidak boleh kedaluwarsa. Namun, kita bisa berubah nilai sehingga ketika data dalam Koneksi ini mencapai usia tertentu, itu akan dihapus secara otomatis (dan event EXPIRE Provenance yang sesuai akan dibuat).
Ambang batas tekanan balik (back pressure) memungkinkan kita untuk menentukan seberapa penuh antrian yang diizinkan sebelum Prosesor sumber tidak lagi dijadwalkan untuk dijalankan. Hal ini memungkinkan kami untuk menangani kasus di mana satu Prosesor mampu menghasilkan data lebih cepat daripada Prosesor berikutnya yang mampu mengkonsumsi data tersebut. Jika tekanan balik dikonfigurasi untuk setiap koneksi di sepanjang jalan, Prosesor yang membawa data ke dalam sistem pada akhirnya akan mengalami tekanan balik dan berhenti membawa data baru sehingga sistem memiliki kemampuan untuk pulih.
Akhirnya, kita mempunyai prioritas di sisi kanan. Ini memungkinkan kita untuk mengontrol bagaimana data dalam antrian ini diurutkan. Kami dapat menyeret Prioritas dari daftar "Available prioritizers" ke daftar "Selected prioritizer" untuk mengaktifkan prioritas. Jika beberapa prioritas diaktifkan, mereka akan dievaluasi sedemikian rupa sehingga Prioritas yang terdaftar pertama akan dievaluasi terlebih dahulu dan jika dua FlowFiles ditentukan sama menurut Prioritas itu, Prioritas yang kedua akan digunakan.
Kita cukup mengklik Tambah untuk menambahkan Koneksi ke grafik kita. Kita sekarang akan melihat bahwa ikon Peringatan telah berubah menjadi ikon Berhenti (). Namun, Pemroses PutFile sekarang tidak valid karena hubungan sukse dan failure belum terhubung kemanapun. Mari kita atasi ini dengan memberi sinyal bahwa data yang dirutekan untuk sukses oleh PutFile harus "Automatically Terminated Relationship," yang berarti bahwa NiFi harus mempertimbangkan pemrosesan FlowFile selesai dan "buang" data. Untuk melakukan ini, kami mengkonfigurasi Prosesor PutFile. Pada tab Setting, di sebelah kanan kita bisa mencentang kotak di sebelah success dan failure Relationship to Auto Terminate data. Mengklik OK akan menutup dialog dan menunjukkan bahwa kedua Prosesor sekarang berhenti.