Deskripsi
Talend menyediakan dua opsi untuk menangani pencarian dalam Pekerjaan Spark streaming: komponen input sederhana (misalnya: tMongoDBInput) atau komponen input pencarian (tMongoDBLookupInput). Menggunakan komponen input pencarian akan memberikan peningkatan performa yang besar dan pengoptimalan kode untuk Pekerjaan Spark streaming apa pun.
Daripada mencari seluruh data dari komponen lookup, Talend menyediakan opsi unik untuk Job streaming: untuk mengkueri potongan data input yang lebih kecil untuk pencarian, sehingga menghemat banyak waktu dan membangun Job yang memiliki performa sangat tinggi.
Berdasarkan Definisi
Komponen pencarian seperti tMongoDBLookupInput, tJDBCLookupInput, dan komponen lainnya yang disediakan oleh Talend mengeksekusi kueri basis data dengan urutan yang ditentukan secara ketat yang harus sesuai dengan definisi skema.
Sistem ini meneruskan data yang diekstrak ke tMap guna menyediakan data pencarian (lookup data) ke alur utama. Data ini harus terhubung langsung ke komponen tMap, dan mengharuskan tMap tersebut menggunakan Reload at each row atau Reload at each row (cache) untuk alur pencarian tersebut.
Bagian yang rumit di sini adalah memahami penggunaan fungsionalitas Reload at each row dari komponen Talend tMap, dan bagaimana hal tersebut dapat diintegrasikan dengan komponen lookup.
Contoh
Di bawah ini adalah contoh bagaimana kami menggunakan komponen tJDBCLookupInput dengan tMap dalam Talend Spark Streaming Job.
- Pada tingkat tMap, pastikan tMap untuk pencarian dikonfigurasi dengan Reload at each row, dan ekspresi untuk globalMap Key juga ditentukan.
- Pada tingkat komponen input lookup, pastikan opsi Query diatur untuk mengkueri Kunci globalMap (kondisi di mana ekstrak consumer_id) ditentukan di tMap seperti yang ditunjukkan di bawah ini. Hal ini sangat penting untuk memastikan komponen lookup hanya mengambil data yang diperlukan untuk pemrosesan pada saat itu.
Ringkasan
Seperti yang telah kita lihat, perubahan kecil pada Streaming Job kita dapat membuat ETL Job kita menjadi lebih efektif dan berkinerja tinggi. Karena akan selalu ada berbagai implementasi dari Talend ETL Job, kemampuan untuk memahami nuansa dalam membuatnya menjadi lebih efisien merupakan bagian integral dari peran seorang data engineer.
Untuk informasi lebih lanjut, hubungi kami di: solutions@thinkartha.comPenulis: Siddartha Rao Chennur
Artikel ini juga dipublikasikan di Talend Community:
Sumber: https://community.talend.com/s/article/Achieve-better-performance-with-an-efficient-lookup-input-option-in-Talend-Spark-Streaming