Spoon


Apa itu Spoon ?

Spoon adalah utilitas berbasis grafik yang digunakan untuk melakukan hal-hal berikut ini :
  • merancang dan menjalankan transformation
  • merancang dan menjalankan job
  • melakukan profiling terhadap jalannya job / transformation
  • melakukan konfigurasi dari koneksi database, sharing variable, dsbnya

Menjalankan Spoon

  • Spoon dapat dijalankan melalui 2 file :
    • File binary : kettle.exe
    • File batch script : spoon.bat
  • Eksekusi salah satu dari file tersebut



  • Muncul dialog untuk memilih repository - yaitu lokasi untuk menyimpan file ktr, bisa di sistem database relasional atau di filesystem OS. Klik tombol No repository untuk memilih media penyimpanan di filesystem OS.


  • Pada dialog berisi berbagai tips untuk Spoon, klik tombol close untuk melanjutkan
  • Aplikasi Spoon dijalankan dengan tampilan halaman awal "Welcome to Pentaho Data Integration: Kettle Project" pada tab Welcome
  • Selesai

Antarmuka Spoon

  • Menu Pulldown  : merupakan navigasi utama dari Spoon, terdiri dari semua operasi yang berhubungan dengan perancangan dan eksekujsi job/transformation



  • Toolbar : terdiri dari icon-icon untuk manipulasi file, print dan operasi job / transformation.


  • Panel kiri : terdiri dari Main Tree, Core Objects dan Favorite Steps.



  • Tab di workspace : merupakan pembagi halaman kerja job/transformation serta halaman "Welcome page". Contoh pada gambar di bawah ini menunjukkan kumpulan tab 2 transformation, 1 job dan 1 halaman "Welcome page".



Membuat File Transformation

Berikut adalah contoh membuat suatu transformasi yang akan membaca satu file berformat csv berisi nama 33 propinsi di Indonesia.dan menyimpannya ke file csv lain. File propinsi.csv dapat di-download pada bagian akhir artikel ini atau langsung melalui link ini. Simpanlah file tersebut di C:\contoh_kettle. Isi dari file tersebut adalah sebagai berikut :

Kode_Propinsi,Deskripsi
P01,Bali
P02,Bengkulu
P03,Banten
P04,Gorontalo
P05,Irian Jaya Barat
P06,Papua
P07,Jambi
P08,Jawa Barat
P09,Jawa Tengah
P10,Jawa Timur
P11,Kalimantan Barat
P12,Kalimantan Tengah
P13,Kalimantan Timur
P14,Kalimantan Selatan
P15,Kepulauan Bangka Belitung
P16,Kepulauan Riau
P17,Lampung
P18,Maluku
P19,Maluku Utara
P20,Nusa Tenggara Barat
P21,Nusa Tenggara Timur
P22,Riau
P23,Sulawesi Barat
P24,Sulawesi Tengah
P25,Sulawesi Tenggara
P26,Sulawesi Selatan
P27,Sulawesi Utara
P28,Sumatra Barat
P29,Sumatra Selatan
P30,Sumatra Utara
P31,DI Yogyakarta
P32,DKI Jakarta
P33,Nanggroe Aceh Darussalam


Langkah-langkah untuk membuat transformasi untuk menangani file tersebut:
  • Untuk membuat suatu file transformasi dapat dilakukan dengan salah satu dari cara berikut ini  :
    • Pilih menu pulldown File | New | Transformation


      atau

    • Klik tombol New | Transformation pada toolbar



    • Dengan menekan tombol CTRL + N
  • Akan muncul tab Transformation 1 sebagai nama transformation saat ini, ubah dengan cara menyimpan file transformation kita . Tekan tombol CTRL + S dan simpan sebagai file c:\contoh_kettle\baca_propinsi.ktr
  • Perhatikan bahwa tab transformation kita saat ini berubah namanya menjadi baca_propinsi.

Step Transformation

  • Sekarang kita akan memasukkan step untuk membaca file C:\contoh_kettle\propinsi.csv.
  • Pada panel kiri buka kategori Core Objects | Input. Anda akan menemukan banyak step untuk membaca input dari berbagai format file.
  • Untuk keperluan kita saat ini, kita akan menggunakan step CSV file input.
  • Klik kiri pada icon CSV file input dan tarik ke halaman kerja transformation baca_propinsi kita.


  • Klik kiri 2 kali pada [CSV file input] sehingga muncul dialog CSV Input.
    • Pada bagian Filename, masukkan c:\contoh_kettle\propinsi.csv, untuk konfigurasi yang lain biarkan apa adanya.
    • Klik tombol Get Fields dan klik tombol OK dan Close untuk dialog-dialog yang muncul


    • Hasil akhir konfigurasi dialog terlihat seperti pada gambar berikut. Klik tombol OK untuk kembali ke halaman kerja.



  • Tekan tombol CTRL + S untuk update file baca_propinsi.ktr kita

Preview Data

  • Untuk melihat beberapa baris record data yang dibaca oleh step kita menggunakan fasilitas preview di Kettle
  • Klik pada step CSV file input dan tekan icon Preview di toolbar, kemudian klik tombol Quick Launch yang muncul

  • Akan muncul dialog Examine Preview Data yang berisi data dari file csv kita yaitu kode dan nama propinsi


Menggabungkan Step dengan Hop

  • Dari panel kiri buka kategori Core Objects | Scripting dan masukkan step Modified Java Script Value ke dalam halaman kerja
  • Sambil menekan CTRL, klik step [CSV File Input] dan [Modified Java Script Value] di halaman kerja, klik kanan dan pilih New Hop | klik tombol OK.


  • Kita telah membuat suatu hop yang digunakan untuk menghubungkan kedua step.


Mengubah Data

  • Salah satu kegunaan step [Modified Java Script Value] ini adalah mengubah data dengan berbagai operator dan fungsi yang ada. Klik 2 kali pada step tersebut dan masukkan code berikut di dalam editor yang muncul dari step ini.

    var Deskripsi_lengkap = "Propinsi " + Deskripsi;
    var No_urut = getProcessCount("r");

  • Di dalam editor javascript pastikan Compatibility mode ? tidak dicentang.
  • Klik tombol Get variables.


  • Klik tombol OK.
  • Lakukan preview data pada step ini, perhatikan bahwa terdapat dua field tambahan dibandingkan dengan preview data sebelumnya.

Step Output

  • Kita akan melempar hasil dari step Modified Java Script Value ke teks file bernama C:\contoh_kettle\propinsi.txt.
  • Pada panel kiri buka kategori Core Objects | Output dan tambahkan step bertipe Text file output ke dalam halaman kerja.
  • Hubungkan step [Modified Java Script Value] dan [Text file output] dengan suatu hop.



  • Klik dua kali pada step [Text file output]
  • Pada dialog Text file output klik tab file masukkan nilai C:\contoh_kettle\propinsi pada bagian Filename.
  • Kemudian klik tab Fields dan klik tombol Get Fields sehingga muncul 4 fields (Kode_Propinsi, Deskripsi, Deskripsi_lengkap, No_urut).
  • Klik tombol OK.

Menjalankan Transformation

  • Sekarang transformation kita sudah lengkap membaca suatu file csv, mengubah data dan menambahkannya pada dua field, dan menyimpan semuanya ke dalam file teks yang baru.
  • Jalankan file transformasi ini dengan melakukan klik pada tombol Run.

  • Klik tombol Launch pada dialog yang muncul.
  • Akan muncul dialog Log dengan deskripsi step yang dijalankan berikut baris data yang dibaca dan ditulis. Untuk sementara dialog ini tidak akan saya bahas terlalu jauh. Perhatikan di panel bawah kalau transformasi sudah sukses dieksekusi. Isinya kira-kira seperti berikut.

    2008/08/24 18:31:22 - baca_propinsi - Dispatching started for transformation [baca_propinsi]
    2008/08/24 18:31:23 - Spoon - The transformation has finished!!
    2008/08/24 18:52:54 - Spoon - Launching transformation [baca_propinsi]...
    2008/08/24 18:52:54 - Spoon - Started the transformation execution.
    2008/08/24 18:52:54 - baca_propinsi - Dispatching started for transformation [baca_propinsi]
    2008/08/24 18:52:55 - Spoon - The transformation has finished!!
  • Apabila kita melihat folder C:\contoh_kettle maka kita akan menemukan 1 file tambahan yaitu propinsi.txt. Buka file tersebut di notepad dan Anda akan menemukan isinya seperti berikut ini.
    Kode_Propinsi;Deskripsi;Deskripsi_lengkap;No_urut
    P01;Bali                     ;Propinsi Bali;00000000000001.00
    P02;Bengkulu                 ;Propinsi Bengkulu;00000000000002.00
    P03;Banten                   ;Propinsi Banten;00000000000003.00
    P04;Gorontalo                ;Propinsi Gorontalo;00000000000004.00
    P05;Irian Jaya Barat         ;Propinsi Irian Jaya Barat;00000000000005.00
    P06;Papua                    ;Propinsi Papua;00000000000006.00
    P07;Jambi                    ;Propinsi Jambi;00000000000007.00
    P08;Jawa Barat               ;Propinsi Jawa Barat;00000000000008.00
    P09;Jawa Tengah              ;Propinsi Jawa Tengah;00000000000009.00
    P10;Jawa Timur               ;Propinsi Jawa Timur;00000000000010.00
    P11;Kalimantan Barat         ;Propinsi Kalimantan Barat;00000000000011.00
    P12;Kalimantan Tengah        ;Propinsi Kalimantan Tengah;00000000000012.00
    P13;Kalimantan Timur         ;Propinsi Kalimantan Timur;00000000000013.00
    P14;Kalimantan Selatan       ;Propinsi Kalimantan Selatan;00000000000014.00
    P15;Kepulauan Bangka Belitung;Propinsi Kepulauan Bangka Belitung;00000000000015.00
    P16;Kepulauan Riau           ;Propinsi Kepulauan Riau;00000000000016.00
    P17;Lampung                  ;Propinsi Lampung;00000000000017.00
    P18;Maluku                   ;Propinsi Maluku;00000000000018.00
    P19;Maluku Utara             ;Propinsi Maluku Utara;00000000000019.00
    P20;Nusa Tenggara Barat      ;Propinsi Nusa Tenggara Barat;00000000000020.00
    P21;Nusa Tenggara Timur      ;Propinsi Nusa Tenggara Timur;00000000000021.00
    P22;Riau                     ;Propinsi Riau;00000000000022.00
    P23;Sulawesi Barat           ;Propinsi Sulawesi Barat;00000000000023.00
    P24;Sulawesi Tengah          ;Propinsi Sulawesi Tengah;00000000000024.00
    P25;Sulawesi Tenggara        ;Propinsi Sulawesi Tenggara;00000000000025.00
    P26;Sulawesi Selatan         ;Propinsi Sulawesi Selatan;00000000000026.00
    P27;Sulawesi Utara           ;Propinsi Sulawesi Utara;00000000000027.00
    P28;Sumatra Barat            ;Propinsi Sumatra Barat;00000000000028.00
    P29;Sumatra Selatan          ;Propinsi Sumatra Selatan;00000000000029.00
    P30;Sumatra Utara            ;Propinsi Sumatra Utara;00000000000030.00
    P31;DI Yogyakarta            ;Propinsi DI Yogyakarta;00000000000031.00
    P32;DKI Jakarta              ;Propinsi DKI Jakarta;00000000000032.00
    P33;Nanggroe Aceh Darussalam ;Propinsi Nanggroe Aceh Darussalam;00000000000033.00

  • Selesai

Penutup

Selamat, Anda telah selesai membuat satu transformasi sederhana dengan menggunakan Spoon sebagai utilitas grafiknya. Untuk bacaan lebih lanjut mengenai transformasi ini, PHI-Integration akan mengupdate artikel ini di bagian Kettle. So, always stay tuned with our wiki !

Pada akhir artikel juga disertakan contoh-contoh file yang digunakan dan dihasilkan pada artikel ini.

Info Lebih Lanjut

Jika Anda masih mengalami kesulitan dan ingin informasi lebih lanjut silahkan gabung ke user group kita di http://groups.google.com/group/pentaho-id atau di http://pentaho-id.ning.com.
ċ
baca_propinsi.ktr
(10k)
Feris Thia,
Aug 24, 2008, 5:11 AM
ċ
propinsi.csv
(1k)
Feris Thia,
Aug 24, 2008, 2:54 AM
ċ
propinsi.txt
(2k)
Feris Thia,
Aug 24, 2008, 5:11 AM