Naik satu level dari transformasi tunggal: merancang job untuk mengorkestrasi banyak langkah, memakai step kontrol seperti Start, Transformation, Shell, FTP, dan Email, mengatur alur sukses dan gagal, serta menjadwalkan eksekusi dengan Kitchen dan cron.

Di episode 4 kalian membuat transformasi tunggal yang mengolah satu aliran data. Di dunia nyata, pekerjaan ETL tidak pernah sesederhana itu: data harus diambil dari beberapa sumber secara berurutan, dimuat setelah proses lain selesai, dan dilaporkan ke tim melalui email. Di sinilah job berperan.
Sebuah job adalah orkestrator. Ia tidak mengolah baris data, melainkan mengatur kapan dan dalam urutan apa transformasi dan langkah lain dijalankan, termasuk apa yang terjadi saat salah satu langkah gagal. Episode ini akan membuat kalian paham cara merancang job yang andal.
Sebelum membangun job, ingat kembali pembagian peran yang sudah dibahas di episode 2:
Sebuah job selalu dimulai dari step START dan menjalankan job entry lain secara berurutan atau bersyarat. Bedanya dengan transformation: hop di job tidak membawa data, hanya membawa status success atau failure.
Buat job baru di Spoon lewat File > New > Job. Kalian akan melihat kanvas dengan palet Job entries yang berbeda dari palet step transformation.
Beberapa job entry adalah tulang punggung orkestrasi. Kenali dari sekarang:
.ktr. Ini entry yang paling sering dipakai.mv atau memanggil program eksternal.Rangkaian paling umum: START menuju Transformation pertama, lalu ke transformasi berikutnya, lalu ke Email di akhir. Mari kita susun.
Ikuti langkah berikut untuk merakit job sederhana: ambil data dari CSV, muat ke database, arsipkan file sumber, lalu kirim notifikasi.
csv_to_db.ktr yang kalian buat di episode 4.processed/.ETL selesai dan tujuan email tim.Penampilannya akan terlihat seperti skema berikut:
START -> csv_to_db.ktr -> Move files -> EmailSekarang simpan sebagai etl_daily.kjb di folder jobs. Sebelum menjalankan penuh, pelajari dulu cara kontrol alur di bagian berikut.
Kekuatan job terletak pada kemampuan mengambil keputusan berdasarkan hasil. Ada beberapa pola yang wajib kalian kuasai:
Pola klasik yang paling sering dipakai di production:
Untuk membuat hop failure, klik dan tahan garis dari sebuah entry lalu pilih Fail pada opsi hop. Perhatikan bahwa ikon hop failure berwarna merah, sukses berwarna hijau, dan evaluasi berwarna biru — warna ini membantu kalian membaca desain job dengan cepat.
Info
Jangan anggap remeh job entry Simple evaluation. Dengan memeriksa jumlah baris hasil transformasi — misalnya melalui Get variables atau hasil query — kalian bisa menghentikan pipeline lebih awal jika data kosong atau mencurigakan, jauh sebelum data salah masuk ke warehouse.
Sama seperti Pan untuk transformation, Kitchen adalah runner job dari command line. Ini perintah yang akan dipakai jutaan kali di dunia kerja nyata:
kitchen.sh -file=/home/kalian/lab/jobs/etl_daily.kjbTambahkan opsi yang berguna: -level=Detailed untuk log lebih rinci, -param:NAMA=value untuk melewatkan parameter, dan -logfile=/path/etl_daily.log untuk menulis log ke file. Logging ke file ini penting karena saat job berjalan otomatis di cron, tidak ada layar untuk membaca output.
Job yang andal harus berjalan otomatis. Di Linux, cara paling sederhana adalah cron. Buka crontab dengan crontab -e lalu tambahkan baris berikut untuk menjalankan job setiap hari pukul 02.00:
0 2 * * * /home/kalian/lab/pdi-ce/kitchen.sh -file=/home/kalian/lab/jobs/etl_daily.kjb -level=Basic -logfile=/var/log/etl_daily.logDanger
Dalam cron, JAVA_HOME sering tidak termuat sehingga Kitchen gagal menemukan Java. Solusi standarnya: di awal crontab, set JAVA_HOME=/path/ke/jdk dan PATH yang lengkap, atau tulis wrapper script yang meng-export variabel tersebut sebelum memanggil kitchen.sh. Uji dulu dengan menjalankan cron secara manual.
Untuk kebutuhan scheduling yang lebih terpusat — dashboard jadwal, retry, notifikasi — episode 10 akan memperkenalkan Pentaho Server dengan Scheduler-nya yang jauh lebih lengkap. Untuk sekarang, cron sudah cukup untuk memahami konsep otomatisasi.
Di episode 5 ini kalian merancang job pertama: mengenal job entry populer seperti START, Transformation, Shell, FTP, dan Email; mengatur alur kontrol sukses, gagal, dan evaluasi; menjalankan job dengan Kitchen; serta menjadwalkannya dengan cron.
Inti yang harus dibawa pulang:
Di episode 6, kita masuk ke kualitas data: data quality & transformation patterns — validasi, lookup, cleansing, normalisasi, penanganan missing values, deduplikasi, agregasi, dan pola transformasi yang sehat.