- Hentikan
PutSQLprosesor dan biarkan flowfile mengantre. - Setelah mereka mengantri, klik kanan pada
successhubungan
antaraUpdateAttributedanPutSQLdan pilihList Queue. - Pilih salah satu flowfile dan navigasikan ke
Attributestab dan lihat apakah atributabsolute.pathdanflowfilenameada dan jika
mereka memang ada, verifikasi apakah mereka memiliki nilai yang diharapkan. Dalam kasus Andaabsolute.pathharus memiliki nilai/path/in/nifi/node/to/filedanflowfilenameharus memiliki nilai/data.csv
Pertanyaan untuk Anda:Apakah Anda menyetel sendiri atribut ini menggunakan UpdateAttribute , alasannya adalah, NiFi tidak menghasilkan atribut bernama flowfilename , itu menghasilkan satu dengan nama filename .
Satu hal lagi, pastikan salah satu nilai untuk absolute.path diakhiri dengan / di akhir atau nilai flowfilename dimulai dengan / . Jika tidak, mereka akan ditambahkan dan hasilnya akan menjadi /path/in/nifi/node/to/filedata.csv . Anda dapat mencoba append fungsi yang disarankan @Mahendra, jika tidak, Anda cukup menggunakan ${absolute.path}/${flowfilename} .
Perbarui
Saya baru menyadari bahwa absolute.path adalah atribut inti seperti filename , filesize , mime.type , dll. Beberapa prosesor menggunakan semua atribut inti sementara beberapa menggunakan sangat sedikit yang diperlukan. GenerateTableFetch menulis absolute.path tetapi tidak mengatur apa pun untuk itu. Itu sebabnya ia memiliki ./ yang merupakan nilai default.
Jadi saran saya agar pendekatan Anda berhasil adalah, Anda dapat mengatur/menimpa absolute.path secara manual atribut menggunakan UpdateAttribute (sama seperti Anda telah menimpa filename ) dan atur nilai yang diinginkan yaitu /path/in/nifi/node/to/file