Contoh Kasus Penggunaan Hadoop dan HBase untuk Memproses Real World Data: Visualisasi dan Klasifikasi Pergerakan Kapal-kapal Kargo di Alur Laut Pelabuhan Long Beach dan Los Angeles
Penjelasan tentang apa itu HBase telah
dibahas pada artikel HBase: Hyper NoSQL Database. Untuk pembahasan yang lebih lugas dan
komprehensif disertai ilustrasi yang lebih memudahkan pemahaman,
dapat dibaca di buku "Teknologi Big Data: Sistem Canggih dibalikGoogle, Yahoo!, Facebook, IBM". Tidak hanya tentang HBase, buku ini tentu juga membahas teknologi Big Data lainnya seperti Google File System, Google MapReduce, Google Bigtable serta Hadoop yang terdiri atas Hadoop Distributed File System (HDFS) dan Hadoop MapReduce. Pembahasan diawali dengan penjelasan tentang definisi Big Data yang disertai dengan beberapa contoh aplikasi Big Data dalam dunia bisnis modern, lalu diakhiri dengan tutorial untuk menjalankan Hadoop dan HBase secara standalone maupun sebagai distributed system.
Bagi mereka yang baru mengenal Hadoop
maupun HBase pasti menginginkan paling tidak satu contoh kasus
penggunaan Hadoop maupun HBase dalam memproses data sungguhan dari
dunia nyata. Oleh karena itu, kali ini akan dibahas salah satu contoh penggunaan
Apache HBase dan Hadoop untuk memproses real world data atau
data sungguhan dari
dunia nyata, bukan data simulasi, bukan data yang dipilah-pilah untuk
keperluan simulasi juga bukan
data untuk keperluan demo
suatu produk.
Data
tersebut adalah sekumpulan data
digital yang didapatkan
dengan merekam secara terus
menerus informasi yang
dipancarkan oleh transmitter AIS dari kapal-kapal yang melintasi
perairan pantai barat Amerika Utara,
tepatnya adalah area yang termasuk dalam zone 11 dari UTM (Universal
Transverse Mercator).
Gambar 1 menunjukkan
pembagian zone pada UTM. Batas zone 11 adalah dari 30 derajat
Lintang Utara s.d. 40 derajat Lintang Utara, dari 114 derajat Bujur
Barat s.d. 120 derajat Bujur Barat.
Kumpulan data AIS ini dapat di-download dari
www.MarineCadastre.gov
dengan terlebih dahulu mengajukan permohonan registrasi untuk
mendapatkan username dan password.
Gambar 1. Universal Transverse Mercator zones ( www.marinecadastre.gov ) |
Sebelum
dilanjutkan, sebelumnya akan dijelaskan dahulu tentang apa itu AIS (
Automatic Identification System ).
AIS adalah sistem yang terpasang di kapal laut yang memungkin kapal
tersebut mengirimkan data secara periodik ke kapal lainnya maupun ke
instalasi di
darat
dengan menggunakan
media gelombang elektromagnet VHF
( Very High Frequency ).
Kapal-kapal maupun instalasi darat yang menerima pancaran data
dari
AIS
suatu kapal,
tentunya akan dapat mengetahui identitas maupun kondisi
kapal
sumber pancaran
tersebut
( silakan simak gambar 2
).
Data yang dipancarkan oleh AIS memuat 3 jenis informasi, yaitu:
-
- Informasi Statis ( Static Information ), terdiri atas: (1) Nama Panggilan Kapal / Call Sign; (2) Type Code; (3) Nomor IMO ( International Maritime Organisation ); (4) Nomor MMSI ( Maritime Mobile Service Identity ); dan (5) Dimensi Kapal.
-
- Informasi Dinamis ( Dynamic Information ), terdiri atas: (1) Posisi Kapal (Lintang, Bujur); (2) SOG ( Speed over Ground ); (3) COG ( Course over Ground ); (4) Heading; (5) Current Status; dan (6) ROT ( Rate of Turn ).
-
- Informasi terkait Pelayaran ( Voyage-specific Information ), terdiri atas: (1) Tujuan Pelayaran ( Destination ); (2) ETA ( Estimated Time of Arrival ); dan (3) Draft.
Gambar
2. Ilustrasi AIS (Automatic Identification System) pada Kapal Laut
|
Kumpulan
data
AIS yang di-download
dari
www.MarineCadastre.gov
terdiri
atas 3 kelompok data yaitu: (1) Data Broadcast
(broadcast data),
yang terdiri atas: Posisi
Kapal (longitude,
latitude),
SOG, COG, Heading, ROT, baseDateTime (waktu pancaran AIS direkam),
Vessel Status, Voyage ID, MMSI, Receiver Type, Receiver ID; (2) Data
Kapal (vessel
data),
yang terdiri atas: MMSI, IMO, Call Sign, Name, Type Code, Length,
Width; (3) Data
Pelayaran (voyage
data),
yang terdiri atas: Voyage ID, Destination, Cargo, Draft, ETA, Start
Time, End Time, MMSI.
Kali
ini data
AIS
yang di-download
dari
www.MarineCadastre.Gov
akan digunakan untuk:
(1) Memvisualisasikan
pergerakan kapal-kapal kargo
yang berlayar di perairan
dan alur laut sekitar
pelabuhan Los Angeles dan Long Beach, California.
Gambar 3 menunjukkan
area perairan di
sekitar
pelabuhan Los Angeles dan Long Beach;
(2) Mengklasifikasikan
kapal-kapal kargo tersebut
berdasarkan attribut yang melekat
pada tiap kapal.
Untuk
mencapai tujuan ini, ada 6
parameter yang digunakan, yakni:
-
- Posisi (longitude, latitude) kapal pada suatu waktu tertentu. Pada kumpulan data AIS yang di-download dari www.MarineCadastre.Gov, pancaran data AIS direkam dengan tenggang waktu 1 menit ( pancaran data AIS disimpan 1 menit sekali ). Ini berarti, posisi kapal pemancar juga dicatat tiap 1 menit sekali.
-
- Type Code, adalah kode yang menunjukkan tipe kapal. Misalnya, type code 70 s.d. 77 adalah kode untuk kapal kargo.
-
- Draft, menunjukkan kedalaman badan kapal dihitung dari permukaan air.
-
- Tujuan Pelayaran ( Destination ), adalah nama pelabuhan yang dituju dalam suatu pelayaran.
-
- Status ( Current Status ), menunjukkan status suatu kapal. Misalnya: status At Anchor berarti kapalnya sedang berlabuh jangkar; status Making Way berarti kapal sedang bergerak / berlayar di air.
-
- Kebangsaan ( Nationality ), menunjukkan asal kebangsaan dari suatu kapal. Informasi kebangsaan dapat diketahui dari nomor MMSI yang dipancarkan oleh AIS kapal yang bersangkutan. Pada nomor MMSI tersebut terdapat bagian yang menunjukkan kebangsaan kapal.
Gambar
3. Area Perairan di sekitar Pelabuhan Los Angeles dan Long Beach
|
Keenam
parameter diatas juga dapat dikelompokkan dalam 2 jenis informasi:
(1) Informasi
spatiotemporal,
yaitu:
Posisi
Kapal (longitude,
latitude)
yang terus berubah dari waktu ke waktu sesuai pergerakan kapal;
(2) Informasi attribut kapal, yaitu: Type
Code, Draft,
Destination,
Status,
dan Kebangsaan. Informasi spatiotemporal
akan
digunakan untuk memvisualisasikan
pergerakan kapal dengan
menyusun titik-titik koordinat posisi kapal menjadi suatu Geometry
Object tipe
LineString. Dalam
suatu LineString,
titik-titik
koordinat posisi kapal disusun berurutan berdasarkan waktu. Jika
LineString ini
dibaca dengan aplikasi GIS, ia akan menghasilkan garis
putus-putus yang menggambarkan track
kapal.
Titik-titik
yang menyusun garis putus-putus tersebut menunjukkan posisi kapal
yang direkam dengan interval 1 menit.
Kemudian,
informasi
atribut kapal akan digunakan untuk mengklasifikasikan track-track
kapal
yang dihasilkan dari visualisasi informasi spatiotemporal.
Tahap
pertama yang akan dilakukan dalam rangka visualisasi dan klasifikasi
pergerakan kapal
dengan menggunakan HBase adalah dengan membuat
tabel HTable
untuk menyimpan kumpulan data AIS
yang telah disiapkan.
Dalam hal ini, kita harus menentukan row
key, column key, dan
value dari
HTable tersebut. Kita sebut saja HTable ini dengan
nama
BroadcastTable, row key = VesselTypeID.Draft.Status.MMSI, column key
= posisi
kapal(longitude,
latitude) yang telah di-convert
menjadi
geohash,
dan value =
3 jenis informasi yang dipancarkan AIS (dalam hal ini adalah gabungan
dari data
broadcast,
data kapal, dan data pelayaran yang terdapat dalam kumpulan
data AIS yang di-download
dari
www.MarineCadastre.Gov).
Setelah itu, kita upload kumpulan data AIS yang direkam sepanjang
bulan Juli 2009 saja ke BroadcastTable di server HBase.
Selanjutnya,
dengan menggunakan data AIS yang sudah tersimpan di HBase dalam tabel
bernama BroadcastTable, kita
akan menyusun LineString
yang
terdiri atas titik-titik koordinat posisi suatu kapal (longitude,
latitude) dalam suatu pelayaran keluar / masuk pelabuhan Los Angeles
maupun pelabuhan Long Beach. Titik-titik koordinat posisi kapal ini
disusun berurutan berdasarkan waktu perekaman/pencatatan dengan
interval satu menit. Kemudian pada LineString
ini
akan kita
sertakan informasi tentang atribut kapal yang bersangkutan.
LineString yang
dinyatakan dalam format WKT (Well Known Text) kita gabungkan dengan
data atribut kapal dalam format yang dapat dibaca oleh software GIS.
Dalam hal ini kita akan menggabungkannya dengan format vertical
bar separated value
(VBSV) seperti
berikut:
- LINESTRING( pos0.Longitude pos0.Latitude, pos1.Longitude pos1.Latitude, pos2.Longitude pos2.Latitude, ...,posN.Longitude posN.Latitude )|MMSI|IMO Number|Call Sign|Name|Type Code|Length|Width
- keterangan: pos0, pos1, pos2, ..., posN adalah koordinat posisi kapal yang disusun berurutan berdasarkan waktu perekaman dengan interval satu menit.
Kemudian,
LineString yang
sudah disertai data atribut kapal ini kita simpan ke dalam bentuk
file teks sehingga dihasilkan sebuah file teks yang berisi data dalam
format Vertical
Bar Separated Value (VBSV) yang
memuat data Geometry
Object tipe
LineString
dalam
format WKT dan data teks
atribut kapal.
Selanjutnya kita buka data VBSV ini dengan menggunakan software
OpenJUMP Plus ( sebuah software GIS open source ) yang akan
menampilkan tiap LineString
dalam
bentuk garis putus-putus yang merupakan visualisasi dari track
pergerakan
kapal yang keluar / masuk pelabuhan Los Angeles maupun pelabuhan Long
Beach selama bulan Juli 2009. Garis
putus-putus yang menggambarkan track
pergerakan
kapal ini
juga telah
disertai dengan data-data atribut kapal sehingga kita dapat
mengklasifikan track-track
ini
berdasarkan data-data atribut tersebut.
Hasil visualisasi dan klasifiksinya dapat disimak pada gambar
4,
5, 6,
7 dan
8
sebagai
berikut:
-
- Gambar 4 Visualisasi track-track pergerakan kapal tanpa diklasifikasikan. Dalam hal ini kita tidak dapat membedakan kapal apa bergerak kemana.
-
- Gambar 5 Visualisasi pergerakan kapal yang diklasifikasikan berdasarkan type code. Dalam hal ini, garis-garis warna orange menunjukkan kapal kargo dengan type code 71 sedangkan garis-garis warna kuning adalah track-track kapal kargo dengan type code 79.
-
- Gambar 6 Visualisasi pergerakan kapal yang diklasifikasikan berdasarkan draft kapal. Garis-garis warna orange adalah track-track kapal dengan draft kurang dari 5 meter, sedangkan garis-garis kuning menunjukkan track-track pergerakan kapal dengan draft 5 meter keatas.
-
- Gambar 7 Visualisasi pergerakan kapal yang diklasifikasikan berdasarkan pelabuhan tujuan pelayaran ( destination ). Garis-garis ungu menggambarkan pergerakan kapal-kapal kargo yang berlayar dengan tujuan pelabuhan Los Angeles, sedangkan garis-garis kuning adalah track-track kapal kargo dengan tujuan pelabuhan Long Beach.
-
- Gambar 8 Visualisasi pergerakan kapal yang diklasifikasikan berdasarkan kebangsaan ( nationality ). Garis-garis ungu menggambakan pegerakan kapal-kapal kargo berkebangsaan Jepang. Dari sini kita dapat mengetahui bahwa kapal-kapal kargo Jepang pasti berlabuh di pelabuhan Long Beach dan tidak pernah berlabuh di pelabuhan Los Angeles. Garis-garis kuning adalah track-track pelayaran kapal-kapal kargo berkebangsaan Denmark. Kita dapat menyimak bahwa kapal-kapal kargo Denmark hampir semuanya berlabuh di pelabuhan Los Angeles, hanya ada sejumlah kecil yang berlabuh di pelabuhan Long Beach.
Gambar
4.
Visualisasi track-track pergerakan kapal tanpa diklasifikasikan
|
Gambar
5.
Visualisasi pergerakan kapal yang diklasifikasikan berdasarkan type
code (garis-garis
orange: type code 71, garis-garis kuning: type code 79)
|
Gambar
6. Visualisasi pergerakan kapal yang diklasifikasikan berdasarkan draft
kapal (garis-garis
orange: draft < 5 m, garis-garis kuning: draft >= 5 m)
|
Gambar
7. Visualisasi
pergerakan kapal yang diklasifikasikan berdasarkan pelabuhan tujuan
pelayaran (garis-garis
ungu: kapal dengan tujuan Los Angeles, garis-garis kuning: tujuan
Long Beach)
|
Gambar
8. Visualisasi
pergerakan kapal yang diklasifikasikan berdasarkan kebangsaan
(garis-garis ungu: kapal kargo Jepang, garis-garis kuning: kapal
kargo Denmark)
|
Demikian
contoh kasus penggunaan HBase untuk memproses data dari dunia nyata (
real
world data ),
bukan data simulasi
ataupun data yang dipilah-pilah untuk keperluan simulasi dan
juga bukan data yang ditujukan untuk demo suatu produk perangkat
lunak.
Sebenarnya,
dalam percobaan ini saya menggunakan dua cara, yaitu: (1) Visualisasi
dan klasifikasi dengan menggunakan HBase;
dan (2) visualisasi dan klasifikasi dengan memakai tool AIS
TrackBuilder
milik MarineCadastre.Gov
yang dijalankan menggunakan software ESRI ArcGIS. Dalam percobaan ini
saya menemukan bahwa dengan menggunakan HBase
yang diinstal pada cluster Hadoop yang terdiri atas 11 komputer,
proses visualisasi dan klasifikasi dapat dilakukan dengan kecepatan
sekitar 18 kali lebih cepat daripada menggunakan software ESRI ArcGIS
yang dilengkapi tool AIS TrackBuilder.
Comments
Terima Kasih
Atau, silakan PM saya via email wijaya1414{at mark}gmail[dot]com