Strategi menghadapi kegagalan di PDI: menangani error dan logging di transformation serta job, memakai preview rows dan breakpoint untuk debugging, menganalisis step log dan performance metrics, serta best practice recovery untuk transformasi yang gagal.

Semua pipeline akan gagal — itu bukan pertanyaan "jika", melainkan "kapan". Koneksi database terputus, file yang dibaca berganti format, data aneh memicu error. Yang membedakan engineer hebat bukan bebas dari error, melainkan kecepatan menemukan dan mengatasi masalah.
Episode ini membahas error handling dan debugging di PDI: bagaimana memastikan kegagalan tertangkap dengan benar, bagaimana menemukan akar masalah dengan preview dan breakpoint, serta bagaimana membaca log dan metrics untuk mempercepat diagnosis.
Error di PDI bisa dikelompokkan menjadi tiga, dan strategi penanganannya berbeda:
Sebagian besar error muncul di step tertentu dengan pesan yang sebenarnya cukup menjelaskan — selama kalian tahu di mana mencarinya. Kuncinya: jangan pernah mengabaikan log merah.
Dalam transformation, ada beberapa mekanisme penanganan error:
Pola terbaik adalah mencegah error dari muncul lebih dulu: validasi sejak awal, dan arahkan baris mencurigakan ke jalur yang jelas alih-alih membiarkannya meledak di tengah pipeline. Namun untuk error yang tak terhindarkan, pastikan ada jejak: tulis field kunci dan pesan error ke file log.
Saat menjalankan transformasi dari command line, kontrol level log sangat berguna. Gunakan level Debug untuk melihat detail stream saat mencari masalah:
pan.sh -file=mytrans.ktr -level=Debug -logfile=/tmp/mytrans_debug.logLevel log yang tersedia: Error, Minimal, Basic, Detailed, Debug, dan Rowlevel. Mulai dari Basic, naikkan ke Debug hanya saat investigasi, dan jangan lupa kembali ke level normal untuk produksi — -level=Basic hampir selalu cukup untuk run rutin.
Saat transformasi gagal, pesan error biasanya menunjuk ke step dan baris penyebabnya — misalnya ... at step 'Select values' .... Dua informasi ini adalah titik mulai investigasi: buka step itu, periksa field yang dicurigai dengan Preview, lalu telusuri nilainya dari sumber. Kebiasaan mencatat pesan error lengkap — bukan hanya kalimat terakhirnya — akan sangat membantu saat kalian bertanya di komunitas.
Job punya mekanisme penanganan error yang berbeda karena sifatnya orkestrasi. Strategi utamanya:
Standar industri yang harus kalian tiru: setiap job production punya jalur failure yang mengirim notifikasi dan mencatat konteks lengkap — job mana, step mana, jam berapa, dan pesan errornya. Episode 13 akan membahas logging dan observability secara menyeluruh.
Mekanisme debugging interaktif di Spoon adalah senjata utama kalian:
Teknik ini memungkinkan kalian "berjalan bersama data" dan menemukan persis di step mana nilai mulai melenceng. Kombinasi preview di beberapa titik seringkali lebih efektif daripada membaca log panjang baris demi baris.
Spoon menyimpan Execution history setiap transformasi yang dijalankan. Setelah beberapa kali run, bandingkan angka Step Metrics antar run: jika sebuah step mulai memproses lebih lambat atau error count-nya naik, kalian bisa mendeteksi degradasi sebelum kegagalan penuh. Ini semacam dashboard mini yang tidak perlu alat eksternal — cukup klik tab Execution History di panel bawah.
Latihan praktis: jalankan transformasi yang sama dengan data yang volumenya berbeda-beda, lalu amati bagaimana waktu dan jumlah baris berubah. Kemampuan membaca tren antar run inilah bekal kalian di episode 13, saat membahas monitoring dan observability secara menyeluruh.
Info
Latihan debugging terbaik yang bisa kalian lakukan: rusakkan sesuatu dengan sengaja — ubah tipe field di Select values, salahkan nama kolom, atau beri kunci duplikat di output — lalu praktikkan menemukannya dengan preview dan breakpoint. Refleks debugging dibangun dengan latihan, bukan teori.
Saat transformasi berjalan, panel log dan tab Step Metrics memberi gambaran kesehatan tiap step. Hal-hal yang harus kalian perhatikan:
Untuk menemukan bottleneck, perhatikan step dengan active yang tinggi atau lines read yang melambat. Step yang menunggu — biasanya yang melakukan query database atau menulis disk — adalah tersangka utama.
Saat transformasi benar-benar gagal di production, tujuannya adalah kembali sehat secepat mungkin tanpa korupsi data. Best practice-nya:
Success
Aturan emas: jika transformasi tidak bisa dijalankan ulang dengan aman, desainnya belum selesai. Idempotensi adalah asuransi termurah untuk ketenangan pikiran seorang data engineer.
Di episode 7 ini kalian membekali diri menghadapi kegagalan: memahami jenis error di PDI, menangani error di transformation dan job, memakai preview dan breakpoint untuk debugging, menganalisis step log dan performance metrics, serta menerapkan best practice recovery yang aman.
Inti yang harus dibawa pulang:
Di episode 8, kita melebarkan jangkauan: advanced sources & targets — menghubungkan database, CSV, Excel, XML, JSON, dan REST API, memakai konektor Hadoop dan cloud storage, menulis ke data warehouse, serta memanfaatkan lookup dan caching untuk performa.