Modul Data Science With Kettle Dqlab
Modul Data Science With Kettle Dqlab
Daftar Isi
Bab 1. Pendahuluan............................................................................................................................6
Bab 2. Pentaho - Open Source BI Suite..............................................................................................7
2.1 Pentaho Corporation ...............................................................................................................7
2.2 Pentaho – Community Open Source BI Suite ........................................................................7
2.3 Skema Hubungan Aplikasi-aplikasi Pentaho........................................................................11
Bab 3. Terminologi Dasar .................................................................................................................12
3.1 Online Transaction Processing (OLTP) ................................................................................12
3.2 Online Analytical Processing (OLAP)....................................................................................12
3.3 Data Warehouse ....................................................................................................................13
3.4 Data Mart ...............................................................................................................................13
3.5 ETL (Extract, Transform, Load) .............................................................................................14
Bab 4. Instalasi Aplikasi dan Contoh Data.......................................................................................15
4.1 Java Development Kit / Java Runtime Environment ...........................................................15
4.2 MySQL – Paket XAMPP ........................................................................................................16
4.3 7Zip ........................................................................................................................................17
4.4 SQLYog – Community Edition ..............................................................................................17
4.5 Pentaho Data Integration / Kettle .........................................................................................21
4.6 Import Database PHI-Minimart .............................................................................................21
Bagian 1 ...................................................................................................................................................24
Pentaho Data Integration / Kettle ...........................................................................................................24
Bab 5. Pentaho Data Integration (Kettle) .........................................................................................25
5.1 Pendahuluan..........................................................................................................................25
5.2 Komponen Aplikasi Kettle .....................................................................................................25
5.3 Arsitektur Kettle.....................................................................................................................26
5.4 Model Konseptual Job / Transformation .............................................................................27
5.5 Organisasi Folder Kettle........................................................................................................28
Bab 6. Spoon.....................................................................................................................................29
6.1 Praktek: Menjalankan Spoon ................................................................................................29
6.2 Lingkungan Kerja Spoon .......................................................................................................30
Bab 7. Konsep dan Komponen Kettle ..............................................................................................31
© 2018 by DQLab.id 2
Data Warehouse with Kettle
© 2018 by DQLab.id 3
Data Warehouse with Kettle
© 2018 by DQLab.id 4
Data Warehouse with Kettle
© 2018 by DQLab.id 5
Data Warehouse with Kettle
Bab 1. Pendahuluan
Dunia korporasi saat ini menghadapi permasalahan yang hampir sama, yaitu membengkaknya data
akibat keberhasilan implementasi berbagai sistem komputer. Otomatisasi berjalan dengan baik, namun
berbagai laporan yang ingin dihasilkan sebagai output dari sistem tersebut sebagian besar tidak tercapai.
Permasalahannya adalah 85 persen waktu yang diperlukan adalah mempersiapkan data (data
preparation). Database yang dirancang untuk sistem entri ternyata sangat buruk digunakan menghasilkan
berbagai laporan analisa. Berbagai solusi telah ditawarkan oleh para praktisi IT, dan pendekatan dengan
membangun suatu data warehouse adalah yang terbaik.
Untuk membangun data warehouse yang baik diperlukan tool yang mampu mengambil, me ngolah dan
menyimpan data pada berbagai format dengan baik. Tool ini biasa disebut dengan ETL, singkatan dari
Extract, Transform and Load.
Salah satu produk ETL adalah Kettle atau Pentaho Data Integration, suatu produk yang bersifat free open
source ETL dan dapat berjalan di lingkungan multi-platform. Kettle memiliki lebih dari 140 built-in
modules yang dapat digunakan hampir semua format data terpopuler dan biasa digunakan di dunia
enterprise saat ini.
Dengan kemampuannya yang sangat baik dan didukung oleh komunitas open source, Kettle menjadi
aplikasi favorit diantara para pengembang data warehouse.
Kursus berdurasi lima hari ini membahas pembangunan data warehouse dengan Kettle. Selama lima hari
Anda akan mempelajari konsep dasar tentang data warehouse, Multidimensional Modelling, and
penggunaan dari Kettle itu sendiri.
© 2018 by DQLab.id 6
Data Warehouse with Kettle
Pentaho mendapatkan keuntungan dari penjualan produk Pentaho Enterprise Edition atau produk
versi non community. Versi ini berbeda dari sisi support, jumlah produk, dan harga lisensi.
Pentaho community dikembangkan bersama oleh Pentaho Corporation dan komunitas yang
berasal dari seluruh dunia.
Selain sifatnya gratis dan adopsi yang semakin hari semakin luas, dukungan Pentaho bisa
didapatkan dalam bentuk Service Level Agreement (SLA) dan dipaketkan dalam versi Enterprise
Edition yang sifatnya annual subscription atau perlu kontrak tahunan. Selain itu jika Anda tetap
menggunakan community edition yang gratis, maka bisa mendapatkan support dari banyak system
integrator Pentaho di seluruh dunia.
© 2018 by DQLab.id 7
Data Warehouse with Kettle
© 2018 by DQLab.id 8
Data Warehouse with Kettle
© 2018 by DQLab.id 9
Data Warehouse with Kettle
© 2018 by DQLab.id 10
Data Warehouse with Kettle
© 2018 by DQLab.id 11
Data Warehouse with Kettle
Beban kerja sistem informasi OLTP difokuskan pada memasukkan data baru, melakukan
perubahan dan penghapusan data secara real time.
Sistem OLTP sangat mission critical artinya tidak boleh ada gangguan dalam sistem ini atau
operasional tidak bisa berjalan dengan baik.
Beberapa contoh sistem informasi yang bisa dikategorikan sebagai OLTP adalah:
• ERP (Enterprise Resource Planning)
Beberapa contoh produk ERP: SAP, Compiere/Adempiere, Microsoft Dynamics, dan lain-lain.
• HRM (Human Resource Management)
Beberapa contoh produk HRM: OrangeHRM, PeopleSoft, SimpleHRM, dan lain-lain.
• CRM (Customer Relationship Management)
Beberapa contoh produk CRM: Microsoft CRM, SugarCRM, Siebel CRM, dan lain-lain.
Database OLAP sangat berbeda dengan OLTP dari sisi beban kerja dimana OLAP dirancang dan
difokuskan pada kecepatan pembacaan data sedangkan OLTP pada kecepatan perekaman dan
perubahan data.
Umumnya database OLAP dihasilkan melalui suatu proses batch dan biasanya dilakukan dalam
periode tertentu (tiap tengah malam, tiap minggu, dsbnya).
Database OLAP biasanya juga telah merupakan database yang sudah diperkaya dari berbagai
sumber data OLTP, dan biasanya merupakan suatu data warehouse.
© 2018 by DQLab.id 12
Data Warehouse with Kettle
Data Warehouse adalah suatu database khusus yang digunakan sebagai “gudang data” atau data
yang telah terkonsolidasi dari sumber-sumber data berbagai sistem informasi yang ada pada
suatu organisasi / perusahaan.
Misalkan jika kita memiliki sistem pembelian / purchasing, sumber daya manusia (human
resources), penjualan (sales), inventori, dan lain-lain. Maka data warehouse adalah hasil
konsolidasi atau penggabungan data-data dari berbagai sistem OLTP tersebut dalam satu
kesatuan sehingga kaitan antara satu dengan yang lainnya menjadi jelas dan kuat.
Dengan adanya konsolidasi tersebut, diharapkan banyak informasi berharga yang bisa didapatkan
sehingga menciptakan nilai strategik yang tinggi dalam kaitan pengambilan keputusan.
Struktur data warehouse tentunya perlu dioptimalkan untuk berbagai kepentingan sistem
pelaporan terutama yang bersifat analisa menyeluruh. Dan dengan kaitan perkembangan OLAP
yang semakin penting, data warehouse saat ini lebih banyak mengadopsi pemodelan yang cocok
untuk dikonsumsi sistem OLAP dengan baik.
Setelah data warehouse terbentuk, informasi yang bisa diambil tentunya jauh lebih luas dan
lengkap. Pada data warehouse kemungkinan besar terjadi proses pembersihan data (data
cleansing) dan pengayaan data (content enrichment).
Sebagai contoh, pada sistem penjualan kita hanya mengetahui siapa saja tenaga penjual (sales
person) dengan kinerja yang baik. Tetapi kita tidak dapat mengetahui latar belakang kenapa
beberapa sales performanya baik dan yang lainnya tidak. Dan dengan in tegrasi data dari sistem
SDM yang lebih lengkap profilnya, kita dapat memetakan kinerja dengan latar belakang pendidikan
atau lebih luasnya ke data demografis dan hasil uji saringan masuk.
Dari data warehouse ini sering dibutuhkan subset data / informasi yang hanya dibutuhkan oleh
divisi-divisi tertentu. Dan kadang jauh lebih baik apabila secara fisik database ini terpisah sendiri
untuk divisi tersebut. Subset dari data warehouse ini disebut dengan istilah Data Mart.
Ilustrasi atau analogi akan hubungan sumber data (produsen / pabrik data), data warehouse dan
data mart sangat mirip akan sistem distribusi seperti terlihat pada gambar di bawah ini.
© 2018 by DQLab.id 13
Data Warehouse with Kettle
Aplikasi ETL sangat membantu sekali dalam merancang dan membentuk suatu data warehouse.
Beberpa kemampuan yang harus dimiliki oleh suatu ETL adalah sebagai berikut:
• Dapat membaca dan mengirim data dari dan ke berbagai sumber seperti file teks, file Excel,
table-table database relasional, web services, dan lain sebagainya.
• Mampu melakukan manipulasi ( transformasi ) data dari yang sederhana sampai ke tahap
rumit. Beberapa pengolahan data yang harus bisa dilakukan seperti melakukan normalisasi
dan denormalisasi data, memecah kolom, melakukan perhitungan yang terkait tanggal dan
jam, dan lain-lain.
• Script dapat dirancang dan diimplementasikan dengan tingkat produktivitas yang tinggi.
• Menghasilkan informasi meta data pada setiap perjalanan transformasi.
• Memiliki audit log yang baik.
• Dapat ditingkatkan performanya dengan scale up dan scale out.
Walaupun membangun solusi ETL dengan programming biasa seperti coding dengan bahasa Java
atau .NET sangat dimungkinkan, namun tidak disarankan karena produktivitasnya yang cukup
rendah dan berakibat ke pemborosan waktu dan biaya.
Berbagai utilitas ETL telah tersedia di pasaran dan menunjukkan kinerja yang baik contohnya
adalah Informatica, Data Transformation Service (DTS), Microsoft SQL Server Integration Service
(SSIS), Pentaho Data Integration (Kettle), dan lain sebagainya.
© 2018 by DQLab.id 14
Data Warehouse with Kettle
Setelah selesai, lakukan pengujian instalasi melalui command prompt dengan langkah-langkah
berikut :
• Pilh menu Start | Run, ketik cmd, klik tombol OK
• Ketik perintah java –version
• Jika instalasi berhasil dengan baik maka hasil outputnya akan tampak seperti pada gambar
berikut.
• Selesai.
© 2018 by DQLab.id 15
Data Warehouse with Kettle
Setelah instalasi, jalankan XAMPP Control Panel seperti tampak pada gambar di bawah dimana
Anda bisa melakukan administrasi seperti merubah konfigurasi, menyalakan dan mematikan
server-server yang terinstalasi bersama paket XAMPP.
© 2018 by DQLab.id 16
Data Warehouse with Kettle
4.3 7Zip
7Zip adalah aplikasi archiver free dan open source yang dapat melakukan kompresi ataupun
membuka berbagai file kompresi seperti zip, rar, tar.gz, dan lain-lain dengan performa yang cukup
baik.
Untuk melakukan instalasi, jalankan file setup 7z920.exe yang dapat Anda download di url
https://tinyurl.com/7zip-download-dqlab.
Setelah selesai instalasi Anda dapat membuka file kompresi ataupun melakukan kompresi dari
context menu pada aplikasi Windows Explorer.
Versi aplikasi ini ada yang gratis dan open source dan ada yang berbayar. Versi open source dari
SQLyog ini dapat digunakan secara bebas namun dengan beberapa fitur advanced yang dibatasi.
© 2018 by DQLab.id 17
Data Warehouse with Kettle
Anda dapat melakukan instalasi aplikasi ini dengan menjalankan file setup SQLyog-11.3.1-
1.x86Community.exe atau SQLyog-11.3.1-1.x64Community.exe yang terdapat pada folder
MySQL/SQLYog pada DVD materi training Anda.
Pilihlah konfigurasi instalasi yang sesuai dengan kebutuhan dengan dibantu oleh instruktur Anda.
© 2018 by DQLab.id 18
Data Warehouse with Kettle
• Selesai.
© 2018 by DQLab.id 19
Data Warehouse with Kettle
• Masukkan nama database yang kita inginkan pada input Database name dari dialog Create
Database.
• Selesai.
© 2018 by DQLab.id 20
Data Warehouse with Kettle
• Selesai.
Anda akan mendapatkan folder data-integration sebagai hasil ekstraksi. Ubahlah nama folder
tersebut menjadi kettle4-2.
• Pada dialog Execute Query(s) From A File pilih file phi_minimart_mysql_v0.2.sql dari file hasil
download.
© 2018 by DQLab.id 21
Data Warehouse with Kettle
• Klik tombol Execute, kemudian klik tombol Yes untuk pesan lanjutan yang muncul. Proses
import akan dimulai, tunggu sampai selesai.
• Klik pada salah satu table, diikuti pemilihan menu tab Table Data pada panel bawah ruang kerja
SQLYog untuk melihat isi data dari table tersebut.
© 2018 by DQLab.id 22
Data Warehouse with Kettle
• Selesai.
© 2018 by DQLab.id 23
Data Warehouse with Kettle
Bagian 1
Pentaho Data Integration / Kettle
© 2018 by DQLab.id 24
Data Warehouse with Kettle
Saat ini Kettle merupakan utilitas ETL yang sangat populer dan salah satu yang terbaik di
pasaran. Beberapa kelebihannya adalah sebagai berikut:
• Memiliki koleksi modul pengolahan data yang cukup banyak. Lebih dari 100 modul atau step.
• Memiliki modul yang memudahkan perancangan model data warehouse seperti Slowly
Changing Dimension dan Junk Dimensions.
• Performa dan kemampuan skalabilitas yang baik dan sudah terbukti.
• Dapat dikembangkan dengan berbagai plugin tambahan.
Kettle terdiri dari 4 utilitas dalam bentuk shell dan batch script yaitu:
• Spoon
▪ Merupakan utilitas yang digunakan untuk merancang dan menjalankan job / transformation
secara visual (GUI)
▪ Dipaketkan dengan nama file spoon.bat (batch script) dan spoon.sh (BASH shell script)
• Pan
▪ Merupakan utilitas yang digunakan untuk mengeksekusi transformation
▪ Umumnya dijalankan pada saat otomatisasi terjadwal (scheduled automation)
▪ Dipaketkan dengan nama file pan.bat (batch script) dan pan.sh (BASH shell script)
• Kitchen
▪ Merupakan utilitas yang digunakan untuk mengeksekusi job
▪ Umumnya dijalankan pada saat otomatisasi terjadwal (scheduled automation)
▪ Dipaketkan dengan nama file pan.bat (batch script) dan pan.sh (BASH shell script)
• Carte
▪ Merupakan utilitas cluster web server yang digunakan untuk mengeksekusi job /
transformation
▪ Terutama digunakan untuk meningkatkan performa ETL dengan pembagian load kerja
pada berbagai node Carte (master dan slave
© 2018 by DQLab.id 25
Data Warehouse with Kettle
Kettle 3 & 4
Components Architecture
execute
Transformation
Sub Transformation
Carte (Slave)
db.cache
shared.xml
© 2018 by DQLab.id 26
Data Warehouse with Kettle
© 2018 by DQLab.id 27
Data Warehouse with Kettle
lib Berisi file library Java (.jar) minimal yang diperlukan untuk
menjalankan utilitas Kettle. Folder ini tidak berisi driver database.
libext Berisi file library tambahan yang diperlukan untuk eksekusi job /
transformasi Kettle
simple-jndi Berisi file configurasi JNDI (Java Naming & Directory Interface)
© 2018 by DQLab.id 28
Data Warehouse with Kettle
Bab 6. Spoon
Spoon adalah utilitas grafik untuk merancang, mengeksekusi dan melakukan troubleshooting dari proses
ETL melalui job dan transformation.
© 2018 by DQLab.id 29
Data Warehouse with Kettle
© 2018 by DQLab.id 30
Data Warehouse with Kettle
7.2 Step
• Step adalah komponen / modul Kettle yang mengerjakan tugas tertentu pada suatu job /
transformation.
• Kettle terdiri dari 100 lebih step bawaan yang tersebar pada 2 kategori:
▪ Job Steps : step yang berjalan secara sekuensial dan lebih berfokus kepada control flow
secara keseluruhan dari tugas ETL
▪ Transformation Steps : step yang berjalan secara parallel dan lebih menitikberatkan I/O data
• Referensi penggunaan berbagai step dapat ditemukan di dokumen PDI / Kettle user guide.
• Step pada Kettle dapat ditambahkan sebagai plugin.
7.3 Hop
• Suatu Hop menggabungkan 2 step baik sebagai penentu aliran / flow dari job atau penghantar
data di transformation
• Pada transformation, hop memiliki berbagai warna yang memiliki arti tersendiri.
• Tabel pada halaman berikut ini berisi daftar lengkap dari bentuk hop pada Spoon – Kettle 4.2.
© 2018 by DQLab.id 31
Data Warehouse with Kettle
Warna biru, hop yang masih dalam keadaan edit (belum final)
• Sedangkan pada job, hop memiliki berbagai warna yang memiliki arti tersendiri. Tabel beriku t
adalah daftar lengkap dari arti warna tersebut pada Spoon – Kettle 4.2.
© 2018 by DQLab.id 32
Data Warehouse with Kettle
7.4 Job
• Job adalah komponen dari Kettle yang menangani kontrol atas aliran tugas (flow control). Job
tidak memproses aliran data secara langsung. Job bisa terdiri satu atau beberapa
transformation dan job lain.
• Cara membuat job:
© 2018 by DQLab.id 33
Data Warehouse with Kettle
▪ Pilih Job.
• Arahkan kursor mouse pada tab job_msgbox untuk memunculkan informasi nama dan lokasi
file dari job kita.
• Pada pilihan Design di panel kiri, buka folder General dan klik step Start dan diseret (drag) ke
ruang kerja.
© 2018 by DQLab.id 34
Data Warehouse with Kettle
• Dengan cara yang sama, masukkan step Display Msgbox Info dari folder Utility.
• Hubungkan kedua step yang telah ada di ruang kerja dengan salah satu dari dua cara berikut:
▪ CTRL + Click pada step awal / sumber yaitu Start kemudian CTRL+Click pada step tujuan
yaitu Display Msgbox Info 1, klik kanan dan pilih New Hop.
▪ Dengan mouse, klik roda tengah mouse kita (roller mouse) pada step Start. Sambil ditahan
arahkan kursor ke step tujuan yaitu Display Msgbox Info 1.
• Kedua Step akan terhubung dengan hop berwarna hitam. Warna hitam menunjukkan kondisi
tidak bersyarat (unconditional).
• Klik dua kali pada step Diplay Msgbox Info 1, dan masukkan konfigurasi seperti pada gambar
berikut ini.
© 2018 by DQLab.id 35
Data Warehouse with Kettle
• Klik tombol OK, perhatikan bahwa nama step tersebut telah berubah dari Display Msgbox Info
1 menjadi MsgBox – Unconditional.
• Job kita sudah siap dijalankan. Simpan file kita, dan klik tombol Run this job pada bagian
menu toolbar.
• Hasil eksekusi dari job ini adalah munculnya sebuah kotak pesan seperti terlihat pada gambar
berikut.
• Klik dan tahan step Javascript serta arahkan step tersebut ke hop penghubung antara step
© 2018 by DQLab.id 36
Data Warehouse with Kettle
Start dan MsgBox – Unconditional sampai hop tersebut kelihatan lebih tebal. Lepaskan klik
dari step tersebut.
• Perhatikan bahwa step Javascript tersebut akan menjadi step intermediate baru. Hop yang
menuju step MsgBox –Unconditional berwarna hijau, yang memiliki arti bahwa step tersebut
akan tereksekusi jika step Javacript sukses dijalankan.
• Klik 2 kali pada step Javascript untuk membuka editor Evaluating JavaScript. Masukkan
ekspresi perbandingan nilai seperti pada gambar di bawah. Klik tombol OK setelah selesai.
© 2018 by DQLab.id 37
Data Warehouse with Kettle
• Rubah nama dan isi dari step MsgBox – Unconditional sebagai berikut.
• Tambahkan step Display Msgbox Info baru pada ruang kerja kita dengan konfigurasi berikut:
• Tarik hop baru dari step Evaluasi ke MsgBox – False. Perhatikan bahwa hop yang baru
terbentuk tersebut akan diberi warna merah secara otomatis.
• Jalankan job kita dan hasil yang kita harapkan adalah munculnya dialog sebagai berikut. Hasil
ini artinya evaluasi ekspresi matematika dari step Javascript memang salah. Klik tombol OK
untuk menyelesaikan eksekusi job.
© 2018 by DQLab.id 38
Data Warehouse with Kettle
• Pada panel Execution Results yang terdapat di bawah ruang kerja kita, coba analisa perjalanan
dari eksekusi job kita.
• Sekarang, cobalah ganti isi ekspresi pada step Evaluasi kita menjadi 1 < 2.
• Simpan job tersebut dan coba eksekusi kembali. Apa kesimpulan yang bisa Anda ambil?
• Ambil pilihan Follow when result is true, simpan dan kembali jalankan job tersebut. Apa hasil
yang Anda dapatkan?
© 2018 by DQLab.id 39
Data Warehouse with Kettle
▪ jika folder tersebut belum ada maka folder tersebut akan dibuat, jika folder tersebut sudah
ada maka tidak ada tindakan apapun yang dilakukan.
• Susun flow dari step-step tersebut seperti pada gambar di bawah ini
• Klik dua kali pada step Check if FTP folder exist. Pada kotak File/folder name, masukkan nama
folder c:\kettletraining\FTP (1). Klik tombol Add (2), nama folder tersebut akan ditambahkan
pada daftar (3). Klik tombol OK untuk menutup dialog.
• Klik dua kali pada step Create folder FTP, masukkan nama folder yang sama pada kotak Folder
Name dan klik tombol OK.
• Lakukan konfigurasi berikut pada step Start, digunakan agar seluruh job ini diulang per tiap dua
detik.
© 2018 by DQLab.id 40
Data Warehouse with Kettle
7.9 Transformation
• Transformation adalah komponen dari Kettle yang melakukan proses aliran data sebenarnya.
Semua proses pengambilan (extract), perubahan (transform) dan penyimpanan (load) data
dilakukan disini.
• Cara membuat transformation
▪ Pilih menu File | New | Transformation atau tekan CTRL+ALT+N.
▪ Dari Panel Kiri - View, klik kanan entri Transformations | klik New
• Simbol transformation dalam Spoon adalah
7.10 Row
• Row atau baris data adalah aliran data antar sumber input ke step-step lainnya pada
transformation.
• Row terdiri dari 2 bagian :
▪ Meta Data dari row, yaitu berisi deskripsi dan tipe, panjang, format data.
▪ Isi Data dari row itu sendiri.
• Tipe data untuk row yang didukung oleh Kettle adalah sbb :
▪ Integer : Bilangan Bulat
▪ Number : Bilangan Pecahan
▪ String : Rangkaian Karakter
▪ Date : Tanggal
▪ Boolean : Nilai benar / salah
▪ BigNumber : Bilangan Pecahan besar
▪ Binary : Data biner
© 2018 by DQLab.id 41
Data Warehouse with Kettle
7.11 Variable
• Variable adalah penyimpan data di memori dengan penggunaan nama tertentu.
• Beberapa kategori variable di Kettle adalah:
▪ Environment Variables: Berlaku secara global
▪ Kettle Variables: Berlaku dinamis, variable ini dibuat menggunakan step Set Variable
▪ Internal Variables: Variable-variable yang sudah didefinisikan sebelumnya dan punya nilai tertentu
7.12 Log
• Log pada Kettle terdapat pada berbagai level pad job, transformation dan step dapat diarahkan
ke berbagai output:
▪ Layar Monitor
▪ File system
▪ Database relasional
• Rincian dari log juga dapat dikonfigurasi sesuai kebutuhan dan keinginan kita mulai dari tanpa
log sama sekali sampai dengan sangat detil (row details).
© 2018 by DQLab.id 42
Data Warehouse with Kettle
• Klik 2 kali pada step tersebut. Namakan step tersebut dengan Excel - Target Penjualan.
• Masukkan konfigurasi dengan petunjuk salah satu dari 2 gambar berikut di bawah ini.
atau
© 2018 by DQLab.id 43
Data Warehouse with Kettle
▪ Klik tombol Add sehingga pola nama file yang kita masukkan di atas tersebut masuk dalam
daftar entri Selected files.
▪ Klik tombol Show filename(s)… untuk melihat apakah nama pola yang kita masukkan
dikenali. Apabila berhasil maka akan muncul dialog dengan daftar file Excel seperti berikut
ini.
▪ Pada dialog “Enter List”, masukkan sheet “Target Penjualan” dari list “Available Items ” ke
“Your Selection”. Klik tombol “OK”.
© 2018 by DQLab.id 44
Data Warehouse with Kettle
▪ Pada tab !Fields klik tombol Get fields from header row….
▪ Dalam beberapa saat semua fields dan meta datanya akan coba dikenali oleh Kettle.
Perhatikan meta data (tipe) dari semua field tersebut.
▪ Klik tombol Preview rows untuk melihat data yang dibaca dari Excel.
▪ Masukkan jumlah preview sebanyak 1000 baris data pada dialog Enter preview size dan
klik tombol OK.
© 2018 by DQLab.id 45
Data Warehouse with Kettle
▪ Akan muncul jendel Examine preview data yang merupakan preview dari data Excel kita.
Klik tombol Close untuk menutup dialog tersebut.
• Selesai.
© 2018 by DQLab.id 46
Data Warehouse with Kettle
Untuk memperbaiki hal ini, kita dapat merubahnya langsung melalui konfigurasi pada step Excel
Input tersebut, atau melalui penggunaan step Select Values.
Berikut adalah langkah-langkah untuk merubah meta data menggunakan cara terakhir yang
disebutkan :
• Masukkan step Select Values pada ruang kerja kita.
• Buat hop antara step Excel – Target Penjualan dan Select values.
• Klik 2 kali pada step Select Values.
• Ganti nama step tersebut ke Rubah Meta Data.
• Pada tab Select & Alter klik tombol Get fields to select.
© 2018 by DQLab.id 47
Data Warehouse with Kettle
• Akan muncul window yang berisi informasi output metadata dari step tersebut.
• Lakukan hal yang sama untuk step Rubah Meta Data. Terlihat bahwa field Tahun & Bulan
sudah berubah tipe datanya dari Numeric menjadi Integer.
© 2018 by DQLab.id 48
Data Warehouse with Kettle
© 2018 by DQLab.id 49
Data Warehouse with Kettle
• Akan keluar dialog preview data. Klik tombol Close untuk menutup dialog ini.
• Lakukan hal yang sama untuk step Rubah Data dan perhatikan perbedaannya.
© 2018 by DQLab.id 50
Data Warehouse with Kettle
• Masukkan konfigurasi koneksi ke database MySQL sebagai berikut. Database sudah harus
ada sebelumnya.
• Klik tombol Test, apabila koneksi berhasil dilakukan akan muncul window seperti gambar
berikut.
© 2018 by DQLab.id 51
Data Warehouse with Kettle
• Klik kanan pada koneksi yang baru kita buat tadi, dan klik Share. Opsi ini memungkinkan
koneksi dapat digunakan oleh seluruh job / transformation kita tanpa harus dideklarasikan
ulang.
© 2018 by DQLab.id 52
Data Warehouse with Kettle
• Karena tabel target_penjualan belum ada di database kita maka kita perlu membuatnya
terlebih dahulu. Tapi jangan kuatir, pada step ini terdapat tombol “SQL” yang dapat digunakan
untuk menghasilkan perintah DDL SQL untuk membuat / merubah tabel output.
• Klik tombol SQL, akan terlihat perintah DDL CREATE TABLE target_penjualan….
• Klik tombol Execute untuk melakukan mengeksekusi perintah tersebut pada database kita. Klik
tombol OK pada dialog yang muncul kemudian.
• Pada tahap ini tabel target_penjualan akan dibentuk di database phi_oltp.
• Klik OK beberapa kali untuk menutup semua dialog dan kembali ke ruang kerja kita.
• Jalankan transformation kita dengan cara klik tombol Run this transformation or job.
© 2018 by DQLab.id 53
Data Warehouse with Kettle
• Transformasi data akan berlangsung, tunggu beberapa saat sampai selesai – ditandai dengan
status Finished pada tab Step Metrics yang berada pada bagian panel bawah ruang kerja.
© 2018 by DQLab.id 54
Data Warehouse with Kettle
• Jalankan kembali transformasi sampai selesai. Bandingkan perbedaan log saat ini dengan
hasil eksekusi sebelumnya.
• Ubah meta data untuk kolom Total sehingga menjadi Integer tanpa angka pecahan dengan
step Select Values. Namakan step tersebut dengan Ubah Meta Data.
• Simpan data hasil transformasi ke dalam tabel target_penjualan pada database phi_minimart
di MySQL.
• Jalankan transformation tersebut dan coba analisa output yang muncul panel “Execution
Results”. Apa yang dapat Anda simpulkan ?
© 2018 by DQLab.id 55
Data Warehouse with Kettle
Pada praktek berikutnya, kita akan coba hasilkan file Excel yang langsung dikirimkan melalui
email.
• Lakukan konfigurasi email sesuai petunjuk instruktur dan jalankan transformation tersebut .
Apabila semua berjalan baik maka transformation ini akan mengirimkan data master produk
berupa file Excel dengan nama data_excel_yyyy-MM-dd.xls, dimana yyyy mewakili tahun, MM
mewakili bulan, dan dd mewakili hari.
© 2018 by DQLab.id 56
Data Warehouse with Kettle
Untuk penyimpanan dengan filesystem dengan format XML, sebenarnya telah kita lakukan pada
semua latihan sebelumnya. Jika kita ingin menyimpan dalam bentuk file xml, maka pada saat
menjalankan Kettle kita memilih opsi No Repository.
© 2018 by DQLab.id 57
Data Warehouse with Kettle
• Isi dialog Repository Information dengan entri berikut ini. Klik tombol Create or Upgrade.
• Klik Yes untuk pertanyaan Are you sure you want to create the repository on the specified
database connection ?.
• Tunggu beberapa saat sampai muncul dialog Kettle created the repository on the specified
connection.
• Jalankan kembali Spoon dan pilih repository MySQL Kettle Repo.
• Login dengan pasangan user / password berikut: admin / admin.
• Selesai.
© 2018 by DQLab.id 58
Data Warehouse with Kettle
© 2018 by DQLab.id 59
Data Warehouse with Kettle
Bagian 2
Multi Dimensional Modelling
© 2018 by DQLab.id 60
Data Warehouse with Kettle
Di dalam OLAP ini kita perlu mengenal berbagai peristilahan dan konsep sebagai berikut:
• Cube: adalah struktur data dalam bentuk array multi dimensional, terdiri dari dimension dan
measure. Tiap cube biasanya mencakup domain atau aspek bisnis tertentu seperti penjualan.
• Dimension / Dimensi: adalah view / sudut pandang yang menyusun cube. Dimensi dapat
terdiri dari berbagai level. Pada gambar di bawah terdapat 3 dimensi yaitu dimensi waktu
(April, May, June, July), dimensi area (Boston, Benson, Seattle, Wichita) dan dimensi produk
(Sardines, Anchovies, Herring, Pilchards).
• Measure: Nilai pengukuran.
• Member: Isi / anggota dari suatu dimension / measure tertentu.
© 2018 by DQLab.id 61
Data Warehouse with Kettle
Dalam perkembangannya, susunan fact table dan dimension table ini memiliki standar
perancangan atau schema karena terbukti meningkatkan performa dan kemudahan dalam
penerjemahan ke sistem OLAP.
Schema inilah yang menjadi dasar untuk melakukan data warehousing. Dua schema yang paling
umum digunakan oleh berbagai OLAP engine adalah skema bintang (Star Schema) dan skema butir
salju (Snowflake Schema).
dim_karyawan dim_waktu
PK sk_karyawan PK sk_waktu
kode_cabang hari
nama_area_cabang kuartal
kode_karyawan bulan
nama_karyawan tahun
fact_penjualan
FK3 sk_produk
FK1 sk_karyawan
FK2 sk_waktu
FK4 sk_cabang
jumlah_unit
total_jual
dim_produk dim_cabang
PK sk_produk PK sk_cabang
kode_kategori kode_propinsi
nama_kategori nama_propinsi
kode_produk kode_cabang
nama_produk nama_cabang
© 2018 by DQLab.id 62
Data Warehouse with Kettle
dim_karyawan dim_waktu1
PK sk_karyawan PK sk_waktu
kode_cabang hari
nama_area_cabang kuartal
kode_karyawan bulan
nama_karyawan tahun
fact_penjualan
FK3 sk_produk
FK1 sk_karyawan
FK2 sk_waktu
FK4 sk_cabang
jumlah_unit
total_jual
dim_cabang
dim_produk
PK sk_cabang
PK sk_produk
FK1 kode_propinsi
FK1 kode_kategori kode_cabang
kode_produk nama_cabang
nama_produk
master_propinsi
master_kategori
PK kode_propinsi
PK kode_kategori
nama_propinsi
nama_kategori
Nilai dari key ini biasanya berupa nilai sekuensial atau random unik dan tidak memiliki arti jika
dilihat dari proses bisnis dari mana sumber data berasal. Ini kebalikan dari OLTP dimana k olom
primary key dari sumber data OLTP memiliki nilai yang mempengaruhi proses bisnis.
Namun demikian, surrogate key ini sangat penting untuk konsistensi analisis, terutama pada saat
terkait transaksi historis.
© 2018 by DQLab.id 63
Data Warehouse with Kettle
• Buat satu job c:\kettletraining\main.kjb yang terdiri dari beberapa file transformation dengan
tugas berikut:
▪ Melakukan populasi data dimensi produk, cabang dan karyawan dengan strategi repopulasi
ulang.
▪ surrogate key dari tiap dimensi bersifat sekuensial dengan menggunakan step Add
Sequence pada Kettle atau auto sequence key pada database.
© 2018 by DQLab.id 64
Data Warehouse with Kettle
• Namakan step tersebut dengan nama ms_produk dan pilih koneksi phi_oltp.
in the SQL?”. Klik tombol “Yes” dan perhatikan perubahan pada input SQL kita.
© 2018 by DQLab.id 65
Data Warehouse with Kettle
diikuti dengan mengklik icon / tombol preview yang ada pada menu toolbar ( ).
• Masukkan nilai 10 pada input Number of rows to retrieve kemudian klik tombol Quick Launch.
• Dialog Examine preview data akan muncul dengan jumlah 10 row data seperti terlihat pada
gambar berikut.
© 2018 by DQLab.id 66
Data Warehouse with Kettle
Tips Spoon
Setiap hasil output dari preview data dapat dimasukkan ke dalam ruang kerja / worksheet
Excel dengan mekanisme copy paste.
Contoh copy paste dari hasil output preview contoh ms_produk terlihat seperti pada
gambar berikut.
Sebenarnya hal ini tidak terbatas pada data preview, Anda dapat melakukan hal yang
sama pada setiap dialog yang memiliki data grid atau table.
Dan jika dialog grid berupa input list, kita dapat melakukan hal sebaliknya yaitu
melakukan copy paste dari table Excel ke table entri pada dialog Spoon.
• Masukkan kembali satu step Table Input, kali ini dengan mengambil semua field dari table
ms_kategori. Namakan step tersebut sesuai input tablenya, yaitu ms_kategori.
© 2018 by DQLab.id 67
Data Warehouse with Kettle
• Masukkan step Stream Lookup dari kategori Lookup ke dalam ruang kerja kita.
• Buat dua hop untuk menghubungkan ketiga step yang sudah dimasukkan, yaitu dari step
ms_produk menuju Stream Lookup dan dari step ms_kategori menuju Stream Lookup.
• Klik dua kali pada step Stream Lookup dan masukkan konfigurasi berikut :
▪ Step name : Lookup Nama Kategori
▪ Lookup Step : ms_kategori
© 2018 by DQLab.id 68
Data Warehouse with Kettle
• Klik dua kali pada step Lookup Nama Kategori dan masukkan konfigurasi seperti pada gambar
berikut ini. Klik tombol OK untuk menutup dialog tersebut.
© 2018 by DQLab.id 69
Data Warehouse with Kettle
Tips Spoon
Pada beberapa step Kettle seperti Stream Lookup terdapat tombol Get Fields, Get
Lookup Fields yang digunakan untuk mengisi entri nama field pada input grid sehingga
memudahkan kita memilih dengan menghapus yang tidak perlu.
Gambar berikut menunjukkan daftar nama field yang dihasilkan pada step Lookup Nama
Kategori apabila kita mengklik tombol Get Fields dan Get lookup fields.
• Kembali lakukan preview pada step ms_produk dan ms_kategori tanpa menutup dialog
preview di atas. Jika tombol preview tidak bisa digunakan, maka klik tombol stop pada
tooolbar. Apa hasil yang Anda dapatkan? Apa yang dapat Anda simpulkan?
© 2018 by DQLab.id 70
Data Warehouse with Kettle
• Simpan file transformation Anda dengan menggunakan tombol CTRL + S . Disarankan untuk
sesering mungkin menyimpan file job maupun transformation Anda pada saat masa
perancangan dan pengembangan.
• Tambahkan step Add Sequence pada ruang kerja kita. Step ini akan digunakan menghasilkan
angka sekuensial / nomor urut sesuai pertambahan row yang didapatkan dari step
sebelumnya.
• Klik dua kali pada step Add sequence dan lakukan konfigurasi seperti pada gambar berikut.
Konfigurasi termasuk merubah nama step menjadi sk_produk.
© 2018 by DQLab.id 71
Data Warehouse with Kettle
Langkah kita selanjutnya adalah mengurutkan field-field tersebut dengan sk_produk dalam
posisi paling atas.
• Tambahkan step Select Values dan hubungkan dengan step sk_produk seperti terlihat pada
gambar berikut.
• Klik dua kali pada step Select values, pada dialog yang muncul pastikan Anda ada pada tab
Select & Alter.
© 2018 by DQLab.id 72
Data Warehouse with Kettle
• Klik tombol Get Fields sehingga nama-nama field yang berasal dari step sk_produk akan
terpopulasi pada tab Select & Alter.
• Klik pada cell pertama pada baris ke delapan sehingga seluruh baris ter-highlight.
• Dengan menekan CTRL + Panah Atas berulang kali pada keyboard geser field sk_produk
sehingga menempati posisi paling atas.
• Susunlah semua field sehingga urutannya tampak seperti pada gambar berikut.
© 2018 by DQLab.id 73
Data Warehouse with Kettle
• Klik dua kali pada step Table Output dan masukkan konfigurasi seperti berikut.
• Klik tombol SQL pada bagian bawah dialog untuk melakukan sinkronisasi antara data yang
terdapat pada Kettle dengan table yang ada pada database phi_dw. Table dim_produk belum
ada pada database kita.
• Akan muncul perintah DDL Create Table pada dialog Simple SQL Editor yang siap digunakan
membuat table dim_produk. Klik tombol Execute untuk menjalankan perintah SQL tersebut.
© 2018 by DQLab.id 74
Data Warehouse with Kettle
• Kembali ke Spoon, simpan transformation Anda dan kemudian lakukan eksekusi dengan
mengklik tombol Run this transformation or job pada menu toolbar.
© 2018 by DQLab.id 75
Data Warehouse with Kettle
• Perhatikan pada panel Execution Results | Step Metrics untuk entri dim_produk terdapat
output bernilai 41. Ini artinya pada step tersebut telah berhasil terjadi penulisan data ke
database phi_dw sejumlah 41 baris data.
Perhatikan juga, selain output terdapat juga input yang menyatakan berapa banyak row yang
dibaca dari table database atau data external. Sedangkan read dan written yang menyatakan
jumlah row yang terjadi pada internal Kettle.
• Masih pada SQLYog, ketikkan perintah berikut pada tab “Query” untuk menghitung jumlah row
yang saat ini ada pada table dim_produk.
• Tekan tombol F9 untuk mengeksekusi perintah tersebut, dan pada tab Result akan kelihatan
hasil nilai 41.
© 2018 by DQLab.id 76
Data Warehouse with Kettle
• Kembali ke Spoon, kembali kita coba jalankan transformation dim_produk.ktr dan tunggu
sampai proses tersebut selesai.
• Sekarang, hitung jumlah rows yang ada pada table dim_produk saat ini.
• Terlihat jumlah row saat ini adalah 82, yang merupakan hasil yang salah atau tidak kita
harapkan karena akan terjadi duplikasi record seperti terlihat di bawah ini.
• Untuk memperbaiki hal ini, kita harus menghapus isi table terlebih dahulu sebelum dilakukan
populasi. Kembali ke Spoon dan klik dua kali pada step dim_produk.
• Opsi Truncate table kita aktifkan.
© 2018 by DQLab.id 77
Data Warehouse with Kettle
• Selesai.
Dan untuk membantu Anda, berikut adalah gambar screenshot salah satu rancangan flow
transformation untuk menghasilkan table dim_cabang.
© 2018 by DQLab.id 78
Data Warehouse with Kettle
Dan untuk membantu Anda, berikut adalah gambar screenshot salah satu rancangan flow
transformation untuk menghasilkan table dim_karyawan.
Perhatikan pada transformation ini terdapat satu step baru, yaitu Gabung Nama Karyawan yang
merupakan tipe step Modified Java Script Value. Step ini digunakan untuk menggabungkan nama
depan dan belakang dari dari field-field table ms_karyawan.
Cara penggabungan dari dengan step ini terlihat pada gambar di bawah ini. Pada editor Javascript
terlihat kita mendefinisikan suatu variable nama_karyawan yang kemudian didefinisikan sebagai
output dari step ini.
© 2018 by DQLab.id 79
Data Warehouse with Kettle
• Cobalah buka file dengan nama General - Populate date dimension.ktr pada lokasi
[Kettle]/samples/transformations.
• Klik dua kali pada step 40000 days: 100+ years, pada kotak Limit ganti nilai 40000 menjadi
3000.
• Masih pada step yang sama masukkan nilai kolom Value menjadi 20040101.
• Klik dua kali pada step Select Values, pada kolom Fieldname cari baris yang memiliki nilai
date_tk. Setelah Anda temukan, masih pada baris yang sama masukkan sk_waktu pada kolom
Rename to.
• Perhatikan bahwa hop antara step Select Values dan Table Output dalam keadaan disabled
atau tidak aktif. Aktifkan hop tersebut dengan cara klik sekali, atau cara lainnya adalah dengan
© 2018 by DQLab.id 80
Data Warehouse with Kettle
© 2018 by DQLab.id 81
Data Warehouse with Kettle
Untuk membantu Anda, berikut adalah gambar screenshot salah satu rancangan flow
transformation untuk menghasilkan table fact_penjualan.
• Terlihat ada step baru, yaitu Hitung Total Harga. Step ini adalah step Calculator. Isi konfigurasi
dari calculator tersebut seperti tampak pada gambar berikut ini. Mintalah penjelasan lebih
lanjut dari instruktur mengenai penggunaan step ini.
• Selesai.
© 2018 by DQLab.id 82
Data Warehouse with Kettle
• Klik dua kali pada step Transformation dan pada bagian Transformation filename klik tombol
untuk mengambil file transformation, masukkan file dim_produk.ktr yang telah kita buat
sebelumnya dan namakan step ini dengan nama dim_produk.ktr.
• Jalankan job ini dan perhatikan log yang ada pada panel bawah.
© 2018 by DQLab.id 83
Data Warehouse with Kettle
• Pastikan job dengan semua tranformation tersebut telah selesai dan sukses dieksekusi,
periksalah semua table yang terdapat pada database phi_dw.
• Selesai.
© 2018 by DQLab.id 84
Data Warehouse with Kettle
© 2018 by DQLab.id 85
Data Warehouse with Kettle
Bagian 3
Staging Database
© 2018 by DQLab.id 86
Data Warehouse with Kettle
10.11 Pendahuluan
Dalam proses ETL terdapat beberapa tugas yang memakan sumber CPU dan memori / RAM yang
cukup besar seperti sorting, join data (terutama yang sumbernya tidak sama), data lookup, dan
sebagainya.
Ini mengakibatkan ETL harus membebani dirinya dan menurunkan performa dengan tugas yang
sebenarnya bisa dijalankan dengan baik oleh produk RDBMS. Untuk menghindarkan hal tersebut
maka sering sekali kita membuat suatu database staging sebagai buffer untuk mengintegrasikan
data terlebih dahulu sebelum diproses lebih lanjut.
Dengan batasan seperti itu, akhirnya lama kelamaan proses di memori akan penuh terus dan
malah menjadi bottleneck di ETL kita. Oleh sebab itu apabila terjadi kondisi yang akan sangat
membebani memori kita menggunakan strategi data staging.
© 2018 by DQLab.id 88
Data Warehouse with Kettle
Dapat didefinisikan di kettle.properties dan beberapa step script dan step yang berkaitan dengan
job.
© 2018 by DQLab.id 89
Data Warehouse with Kettle
• Sekarang cobalah lakukan preview data lagi pada step Table Input, kali ini Anda akan
mendapatkan hasil seperti pada gambar berikut.
• Selesai.
Dengan adanya file ini maka kita akan sangat terbantu apabila kita ingin berpindah environment,
misalnya antara lingkungan pengembangan / development dengan production.
Shared Connections
© 2018 by DQLab.id 90
Data Warehouse with Kettle
<attributes>
</sharedobjects>
© 2018 by DQLab.id 91
Data Warehouse with Kettle
Dengan penanganan error ini, kita tidak membiarkan transformasi berhenti tiba-tiba secara tidak
terkontrol, sebaliknya kita akan dapat mengarahkan dan mencatat aliran data yang tidak terproses
dengan baik ini untuk perbaikan transformasi itu sendiri maupun data yang kita olah.
Beberapa kontrol yang dapat kita lakukan antara lain seperti mengulang eksekusi transformation,
mengirimkan notifikasi kepada admin database, dan lain sebagainya.
Tidak semua step transformation dari Kettle memiliki fitur error handling, beberapa step yang sudah
mendukung penanganan error atau error handling antara lain adalah Email Step, Modified
Javascript Value, Database Lookup, Table Exists, HTTP Post, dan lain-lain.
• Beberapa konfigurasi yang perlu dimasukkan pada dialog error handling ini adalah sebagai
berikut :
▪ Error handling stepname : Nama step dimana penanganan error ini berada.
▪ Target Step : Step yang dituju jika terjadi error.
▪ Enable the error handling : Mengaktifkan / menonaktifkan penanganan error.
▪ Nr of errors fieldname : Nama field yang akan berisi nomor error.
▪ Error descriptions fieldname : Nama field yang akan berisi deskripsi error.
▪ Error fields fieldname : Nama field yang akan berisi field yang mengakibatkan error.
© 2018 by DQLab.id 92
Data Warehouse with Kettle
▪ Error codes fieldname : Nama field yang akan berisi kode error.
▪ Max nr errors allowed : Jumlah error yang diperbolehkan terjadi.
▪ Max % errors allowed : Persentase jumlah error yang diperbolehkan terjadi.
▪ Min nr rows to read before doing %: Jumlah error versus persentase, jika jumlah error sudah
melebihi nilai yang dimasukkan walaupun belum mencapai nilai persentase maka flow ETL
akan dihentikan.
• Instruktur akan membuat kasus dan menunjukkan penggunaan dari kontrol penanganan error
ini.
© 2018 by DQLab.id 93
Data Warehouse with Kettle
Dari perubahan yang terjadi tersebut kita dapat menentukan apa respon kita. Ada 3 macam tipe
penanganan SCD yaitu Tipe 1, 2, dan 3. Bagian berikut menerangkan apa perbedaan dari tiap tipe
SCD dan contoh gambar yang diambil dari situs Wikipedia.
© 2018 by DQLab.id 94
Data Warehouse with Kettle
atau
Contoh pada gambar berikut hanya dapat melakukan pelacakan (tracking) satu perubahan saja.
Step ini bisa mengerjakan SCD type 1 dan 3 tergantung konfigurasi yang kita berikan kepada step
tersebut. Untuk SCD type 3 juga hybrid, yaitu bisa menggunakan versioning dan masa berl aku
(start date dan end date) dari dimensi tersebut sekaligus.
© 2018 by DQLab.id 95
Data Warehouse with Kettle
• Pastikan data movement pada step Lookup Nama Kategori adalah Copy Data to next steps.
• Klik dua kali pada step dim_produk_scd dan isikan konfigurasi berikut:
▪ Connection : phi_dw
▪ Target table : dim_produk_scd
▪ Technical key field : sk_produk
▪ Version field : versi
▪ Date range start field : tgl_awal
▪ Table daterange end : tgl_akhir
• Klik tab Keys pada bagian daftar field tombol, klik tombol Get Fields. Hapus semua field
sehingga hanya field kode_produk yang tersisa.
© 2018 by DQLab.id 96
Data Warehouse with Kettle
• Klik tab Fields pada bagian dafar kolom, klik tombol Get Fields. Sesuaikan isinya dengan
gambar berikut ini. Untuk entri nama_produk_terakhir Anda harus memasukkannya secara
manual.
• Lakukan perubahan nilai field nama_produk tabel ms_produk dengan membuka dan
© 2018 by DQLab.id 97
Data Warehouse with Kettle
mengeksekusi file rubah_scd.sql – terdapat pada DVD training Anda – dengan SQLYog.
• Jalankan kembali transformasi dan lihat kembali hasilnya pada table dim_produk_scd.
© 2018 by DQLab.id 98
Data Warehouse with Kettle
Selain itu kita perlu memperhatikan strategi waktu yang diambil, yaitu sebaiknya pada saat database
OLTP tidak dalam keadaan sibuk. Sebagai contoh kita dapat mengambil waktu jam 12 malam malam
sebagai periode waktu terbaik.
Syntax:
Syntax:
kitchen.bat /option:value –file=transformation_file.ktr
Opsi-opsi selengkapnya untuk kedua perintah ini dapat Anda lihat pada dokumentasi online Kettle
pada alamat berikut:
• Kitchen: http://wiki.pentaho.com/display/EAI/Kitchen+User+Documentation
• Pan: http://wiki.pentaho.com/display/EAI/Pan+User+Documentation
© 2018 by DQLab.id 99
Data Warehouse with Kettle
c:
cd c:\kettle-4.2
kitchen.bat -file=c:\kettletraining\main.kjb -level=Detailed
cd c:\kettletraining
• Jalankan file DataWarehouse.bat dan lihat proses eksekusinya pada console windows yang
muncul.
• Gunakan Windows Task Scheduler untuk mengeksekusi file DataWarehouse.bat untuk setiap
10 menit.