Tampilkan postingan dengan label spoon. Tampilkan semua postingan

Jumat, 02 November 2012

Sequence dan loop di Kettle Data Integration


Belajar dari kasus yang ada ditambah melihat contoh software bawaan Data Integration, kadang proses simultan diperlukan proses sequential ataupun looping (perulangan) dengan kondisi tertentu. Ternyata objek yang digunakan adalah objek input->Generate row.
Double click pada objek generate row, limit menunjukkan batasan maksimum generate, kemudian tambahkan objeck "add sequence" untuk mendapatkan nilai integer dari sequential generate row sebanyak limit. Output bisa ke log, table ataupun tabel database. Run kemudian bisa dilihat hasilnya.Mari kita coba dulu

Kalau dilihat dari gambar di atas, dengan filter rows '<>null' jika true ke log sedangkan false ke output, maka arahnya akan ke table output (false). Jadi jelas disini, bahwa generate row hanya sebagai jumlah proses sebanyak n limit yang diinput, dengan output null.
Untuk mendapatkan nilai dari sequential, kita ambil objek add_sequence di folder transform, sehingga tampilan seperti di bawah.Bila di cek di tabel, dengan asumsi limit generate row 7, dengan name of value "valuename" di objek add sequence, akan menghasilkan data seperti tabel di bawah.
Jadi jelas, hit nilai null dari "generate row" sementara valuename nilai dari "add sequence" dengan start value 1 dan increment 1 sebagai penambah (counter).
Read More

Aggregate di Kettle Data Integration

Dalam pengolahan data ke Datamart ataupun source olap digunakan data dalam bentuk aggregate (measure) seperti sum, avg, count, dan lain-lain. Nah ETL disini sebagai OLTP dimana data didapatkan tentunya harus meng-aggregate source data tersebut sebelum di-store ke Datamart/Olap Source. Disini coba dibahas bagaimana menggunakan aggregate di Kettle Data Integration. Nah objek yang digunakan disini adalah Group By yang terdapat di folder Statistics-Group By, bukan lagi menggunakan objek "Aggregate Rows" yang ada di folder Deprecated->Aggregate Row, karena beritanya objek ini akan dihilangkan di versi-versi mendatang. :)
Contoh bisa menggunakan contoh sebelumnya dimana contoh sebelumnya mengulas sequence. Disini ditambahkan objek if field value is null di folder utility untuk mengalokasikan nilai null menjadi nilai lain dalam hal ini nilai null dari generate row. Kemudian menggunakan objek group by untuk aggregate dari folder statistics. Setting di objek if value field is null dengan "replace by" dengan karakter digunakan sebagai key group by. Setting objek group by dengan penekanan pada group dan aggregate, group dengan field dari objek "if value field is null", sedangkan aggregate dari nilai "add sequence" misalkan dengan sum. Selanjutnya run, kelihatan di tabel target terdapat nilai 28 sebagai hasil penjumlahan 1-7 (asumsi limit generate rows 7).
Read More

Union di Kettle Data Integration


Proses ETL kadang diperlukan proses penggabungan dari proses-proses sebelumnya, sebagaimana ETL juga sebagai penggambaran query ataupun proses. Sebagai contoh kita gunakan contoh sebelumnya dengan penambahan objek "append stream" di folder flow->Append Stream.
Berdasar contoh gambar di atas, coba ditambahkan objek generate row sebagai input, dengan setting name, value yang sama, jadi intinya bagaimana membuat penterjemahan dari proses query Union seperti halnya di TSQL. Diisikan juga value di Generate row, biar ada hasilnya sekaligus limit. Kemudian Tambahkan objek append stream dan dibinding "hop" keduanya dengan ouput tabel yang sama. Pada objek append stream terdapat setting heda hop dan tail hop, yang mereferensikan pilihan hop berdasar atas bawah. Jika mirip skema di atas, baik head hop ataupun tail hop diisi hop yang sama, tetap dianggap satu hop.
Read More

Kalkulasi di Kettle Data Integration


Di Data integration ini terdapat objek untuk perhitungan data dari beberapa source sebelumnya, yakni calculator dengan maskimum 3 value jika melihat property dari objek tersebut yakni calculator, dimana objek ini berada di folder Tranform->Calculator.
Untuk contoh digunakan objek generate rows sebagai inputan. Jangan lupa sekalian masukkan 2 atau tiga name dan value di objek generate rows. Jangan lupa jika menggunakan calculate adalah type yang mendukung untuk perhitungan, misal integer, number, dan-lain-lain. Setting pada objek Calculator newfield, calculation (+/-/* dll), field a,b,c tergantung input, value type, length, precision, remove, conversion mask, decimal symbol, grouping symbol. Output jika sesuai gambar diatas diarahlan ke log. Selamat mencoba
Read More

Cloning Row di Kettle Data Integration





Walaupun jarang sifatnya, tetapi kadang diperlukan cloning/mengcopy row. Sehingga bisa digunakan bercabang ataupun menjadi output yang lain. Objek yang digunakan adalah clone row yang terdapat di folder Utility->Clone Row.
Jika melihat contoh di atas terdapat objek generate rows, get value from sequence, clone row, dan write to log. Setting seperti di awal generate row name, type, dan value, kemudian get value from sequence untuk mendapatkab value dari loop generate rows, kemudian diambil objek clone row dengan setting nr_clones=n copy cloning. Jika sudah semua hop terhubung dengan setting yang benar sampai write to log. Jika running dan dilihat di log detail maka akan tampil data berulang dengan sejumlah n tanda flag yang sama.
Read More

Kamis, 01 November 2012

INSTALL PENTAHO BI DI UBUNTU

sekarang saya mau coba membahas cara instalasi sebuah BI opensource PENTAHO, yang mana PENTAHO merupakan salah satu aplikasi BI yg bisa dibilang sangat populer, nah kali ini saya ingin membahas cara yg paling dasar pada PENTAHO BI yaitu penginstalasiannya,..
ehmm basa-basi cukup sampai disini langsung saja dimulai :D
langkah pertama adalah karena PENTAHO berbasis java dan pentaho butuh JVM (java virtual machine) , maka terlebih dahulu install JDK atau JRE , dalam kasus ini saya menggunakan ubuntu 10.4 untuk penginstalan pentaho dan saya login sebagai root dan pastikan anda terhubung ke internet atau repository lokal dan lakukan perintah
root@elvis:/home/meruvian# java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-0ubuntu1~12.04.1)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
root@elvis:/home/meruvian#
jika ada hasil seperti diatas berarti anda tidak perlu lagi melakukan penginstalan JDK tapi jika belum lakukanlah perintah
root@elvis:/home/meruvian:~#apt-get install sun-java6-jdk sun-java6-jre
setelah selesai , lalu anda coba lagi perintah java -version untuk memastikan sudah berhasil atau tidak, nah setelah itu lakukan pendefenisian letak JAVA_HOME agar si pentaho pas melakukan perintah start-pentaho.sh dia sudah mengetahui dimana posisi JAVA_HOME nya dan anda tidak perlu lagi merubah konfigurasi pada start-pentaho.sh ,
lakukan pengeditan di /.bashrc dengan editor kesayangan anda, kalau saya lebih suka menggunakan vim atau vim.tiny
root@elvis:/home/meruvian:~# vim.tiny ~/.bashrc
dan pada baris terakhir tambah kan dua baris berikut :
JAVA_HOME=/usr/lib/jvm/java-6-sun
export JAVA_HOME
setelah itu simpan file dengan menekan tombol esc + : + w + q , nah setelah itu log out komputer anda terlebih dahulu .
setelah itu download lah biserver-ce disini
setelah melakukan pendownload-an source biserver-ce lalu ekstraklah biserver anda
root@elvis:/home/meruvian:~#tar -xzvf biserver-ce-3.6.0-stable.tar.gz -C /opt/
nah setelah terekstrak masuklah kedirektori /opt/biserver-ce , karena port default pentaho adalah 8080 
Read More