Kenalan dengan MapReduce, Hadoop dan AWS

Berhubung udah dari dulu saya penasaran tentang term MapReduce dan Hadoop dll. Saya memutuskan untuk baca buku dan bikin ulasan singkat di blog sebagai contekan saya sendiri jikalau besok2 ada interview pekerjaan yang nanyain tentang definisi term tersebut diatas. Hohohoho.

MapReduce adalah konsep pemrosesan data secara paralel. Adanya MapReduce berangkat dari asumsi bahwa data yang akan diolah saaaaaaangat banyak dan data ini memerlukan banyak waktu jika diproses hanya pada satu komputer. Dibutuhkan multiple komputer untuk mempersingkat waktu pemprosesan.

Salah satu contoh task yang bisa dikerjakan dengan konsep MapReduce adalah seperti statistik dari penjualan harian (misal: koran, etc.) dan user yang update status di Facebook di suatu negara dalam kurun waktu tertentu. Sesuai namanya, konsep dari MapReduce adalah Map and Reduce the tasks. Contohnya begini, semisal kita ingin tahu jumlah rata-rata user yang meng-update status di Facebook di wilayah Indonesia dalam kurun waktu 10 tahun.
1) Map : task tersebut di-break down menjadi misal 10 sub-task, dengan desktripsi masing masing sub-task untuk menghitung jumlah rata-rata user per tahun. Jadi, secara paralel, ada 10 sub-task yang berjalan bersama.
2) Reduce : setelah 10 sub-task selesai, hasil dari masing-masing sub-task di-aggregasi menjadi satu nilai sebagai summary dari 10-sub task tersebut. Proses ini dinamakan reduce.

Untuk mengimplementasikan konsep MapReduce, kita butuh framework yang mendukung distributed programming. Hadoop adalah framework yang dituliskan dalam bahasa Java yang sifatnya open source untuk memproses data dalam jumlah banyak dan mendistribusikannya pada multiple machines. Hadoop memiliki aplikasi yang memperbolehkan kita untuk running non-Java program yang dinamakan Hadoop Streaming. Melalui aplikasi ini, kita bisa running program yang mengimplemetasikan MapReduce yang ditulis dengan Python.

Biasanya yang pake MapReduce dan Hadoop ini kan para Developer. Developer juga butuh tempat untuk testing programnya apakah bisa berjalan dengan baik. Untuk menjalankan MapReduce secara real, pasti dibutuhkan infrastruktur komputer yang besar. Para developer yang tidak punya dukungan infrastruktur yang mendukung, bisa menggunakan jasa rental infrastruktur komputer secara banyak (massive infrastructur computing) yang disediakan oleh Amazon namanya Amazon Web Services (AWS). Di AWS, developer bisa membayar sewa berdasarkan berapa jam penggunaan.

Apa hubungannya dengan Machine Learning? Banyak algoritma machine learning yang bisa diimplementasikan dengan konsep MapReduce. Secara umum learning kan ada 2 jenis ya, supervised learning (classification) dan unsupervised larning (custering). Semisal, bagian manajerial ingin melihat trend sentiment user saat update status dalam 10 tahun terakhir ini. Nah, disini perlu dilakukan classification task pada data update status dari user. Algoritma yang digunakan bisa beragam mulai dari Naive Bayes hingga SVM. Namun, tidak semua algoritma tersebut bisa ditulis dengan mudah sebagai MapReduce task, dibutuhkan beberapa adjustment pada code-nya untuk bisa diaplikasikan dengan sebagai MapReduce task.

Sekian ulasan blog hari ini. Semoga besok bisa nulis lagi. Rencananya sih mo bikin ulasan tentang hal-hal techy gini tiap hari. Jangan muntah-muntah yaa para subscriber yang baca ringkasan saya.

Assignment Week 2

Continuing with Outlook on Life Surveys 2012 dataset I’ve been working with, in this assignment, I run my first program in Python that showing frequency distributions for my chosen variables and columns, possibly rows, etc. I uploaded the code (.py file) in my Github account on this following link: assignment2.py. The code executes like a charm and produces result as can be seen in text file here.

These are the outputs displays three of variables as frequency tables. I renamed the original label with its description label to be more interpretable, for example I renamed the categorical values, such as: 1, 2, 3 with ‘Strongly Agree’, ‘Somewhat Agree’, ‘Disagree’, etc. Continue reading “Assignment Week 2”

First Week Assignment

In some countries where the majority of population holds the religious values, political issues are somewhat influenced by religiosity, despite other possible factors. During the election campaign—regional or presidential campaign—it is noted that in some area, the priests suggest their audience to vote/against particular candidate for the election. Religion is considered as the smoothest way to persuade the masses, since the priests have power to gather people and deliver their messages to them whereas the people honor the priests. This post is intended for the first week in assignment in Data Visualization course in Coursera and particularly to fulfil my own curiosity about the influence of religiosity and political issues that happened elsewhere in the world.

After looking at the provided dataset, I am interested to dig deeper the Outlook on Life Surveys 2012 dataset. This dataset studies about factors that influence political and social attitudes in US. Here I want to know whether religiosity influence political and social attitudes in US through digging the survey results from 2295 participants. There are 12 survey questions about religiosity. Continue reading “First Week Assignment”

Tour de Saga 2016

Tanggal 6 November 2016 rombongan PPI Kitakyushu mengadakan tour ke Saga untuk melihat Saga International Hot Air Balloon Festival yang diadakan tiap tahun di Prefektur Saga. Letak Saga agak jauh dari Kitakyushu, waktu tempuh menuju Saga dengan mobil pribadi via tol bisa 1.5-2 jam, sedangkan kalo naik JR bisa lebih lama. Ini juga kali pertama saya berkunjung ke Saga, selama 1,5 tahun tinggal di Kitakyushu. Sepintas, Saga terasa lebih asri dibanding Kitakyushu, karena masih banyak area persawahan di sepanjang perjalanan. Kalo di Indonesia, bedanya kayak Nganjuk dan Malang kali ya :p. Continue reading “Tour de Saga 2016”

Asadora 朝ドラ

Hi, hisashiburi ne~~

Kali ini mau cerita sedikit tentang Asadora. Asadora 朝ドラ, kependekan dari 朝 (asa) : pagi dan  ドラマ (dorama) : drama, artinya drama yang ditampilkan pagi-pagi. Drama ini ditayangkan di NHK channel 6 hari dalam seminggu dan berdurasi 15 menit. Dalam setahun, ada 2 asadora yang ditayangkan. Jadi, 1 judul asadora tamat dalam 6 bulan. Nggak heran untuk 1 judul asadora bisa sampe 150-an episode.

Asadora yang lagi on-air adalah Toto Nee-chan. Asadora ini menceritakan tentang kehidupan Tetsuko sebagai anak pertama dari 3 bersaudara. Sebelum ayahnya meninggal, Tetsuko berjanji pada ayahnya untuk ‘menggantikan’ posisi ayahnya untuk melindungi ibu dan adik-adiknya. Nah, udah bisa ditebak kalau di tiap episodenya akan diceritakan tentang gimana perjuangan Tetsuko berusaha meringankan beban ibunya.

totone_chan-p02
http://asianwiki.com/Toto_Nee-Chan:_Fatherly_Sister

Continue reading “Asadora 朝ドラ”

Sorting Algorithm in Python

Due to my research works, I make myself familiar with Python. Python is a programming language. It is easy to use and human-understandable, especially it has so many tools for analyzing data. Anyway, I am also new in learning Python, I use several online learning resources to deepen my understanding in Python. Here is one of my favorite learning resource: http://interactivepython.org. You need to create an account and log in whenever you want to learn something. Once you are logged in, it will keep track your last reading chapter. Awesome, isn’t it?

Continue reading “Sorting Algorithm in Python”

Learning How To Learn

Gangguan terbesar saya untuk keep focus pada suatu kerjaan adalah handphone dan koneksi internet. Apalagi saat liburan, has nothing to do dan HP nempel ama tangan. Nah, berhubung saya pengen sembuh dari adiksi ini, saya install macem2 aplikasi yang bisa boost productivity seperti ClearLock dan Pocket.

Seperti yang pernah saya tulis di post sebelumnya, ClearLock ini bisa mengunci beberapa aplikasi selama rentang waktu tententu, sedangkan Pocket ini gunanya untuk menyimpan website secara offline. Pocket ini berguna banget kalo mau mengurangi adiksi koneksi internet. Nggak cukup itu aja, saya juga ngeblok facebook dari browser saya di laptop. Nggak bisa FB-an di laptop deh ya.

Nggak tau kenapa saya masih aja ngerasa ga bisa fokus, macem lola dan susah nangkep materi. Apa yang salah dengan cara belajar saya? Iseng saya cari course di coursera tentang gimana cara belajar. Dapet course ini: “Learning How to Learn: Powerful mental tools to help you master tough subjects“. Free course ini recommended banget buat siapapun yang prinsip hidupnya long-life-learner, cieh. Course keren gini bisa free yah, amal jariah banget ya yang ngasi lecture XD. Saya juga belum khatam nontonin semua week dari videonya sih coba kalo dorama, pasti sehari dah khatam. Video lecture-nya dibagi dalam tiap week. Masing-masing week membahas topik yang berbeda. Continue reading “Learning How To Learn”