All Articles

Analisa Miliaran data Wikipedia dalam Hitungan Detik dengan Google BigQuery dan Tableau

image

Intro Google BigQuery 

Kali ini saya sedang mencoba menggunakan salah satu layanan dari Google Cloud Platform yaitu Google BigQuery. Google BigQuery pada dasarnya merupakan layanan jasa Data Warehouse yang cepat, murah (yakin?), dan mampu menampung praktis unlimited amount of data :)

Pengolahan data di Google BigQuery menggunakan bahasa semacam SQL dengan beberapa tambahan fitur yang disebut BQL dan dapat memproses data dengan sangat cepat. Query, filter, dan order miliaran baris data hanya dalam beberapa detik saja!

Untuk coba-coba, Google menyediakan beberapa public dataset dengan ukuran mega jumbo dapat dicek disini.

Data Set Wikipedia 

Saya akan menganalisa public dataset Wikipedia yang disediakan oleh google:

  1. Page Request Count (5 Milliar data, Ukuran 342 GB)fh-bigquery:wikipedia.pagecounts_201607
  2. Wiki Page (6.5 Juta data, Ukuran 34.3 GB)fh-bigquery:public_dump.wikidata_v3

Pertanyaan yang ingin dijawab adalah: 

Siapakah tokoh-tokoh terpopuler di Wikipedia berbahasa Indonesia sepanjang Bulan Juli 2016 ?

Untuk visualisasi data saya akan menggunakan Tableau. Tableau sudah memiliki connector datasource langsung ke Google BigQuery.

Memulai Google BigQuery

Sebelum memulai analisa data, anda harus terdaftar dulu di Google Cloud Platform, daftar trial disini dan dapatkan bonus saldo $300 selama 2 bulan. Selanjutnya untuk mengaktifkan layanan Google BigQuery silahkan ikuti panduan berikut ini.

Mari kita mulai dengan melakukan query count simple terhadap data set page request count wikipedia di bulan Juli 2016, buka halaman berikut ini  lalu klik tombol query table untuk menampilkan query editor.

Pada query editor jalankan query berikut :

SELECT count(*) FROM [fh-bigquery:wikipedia.pagecounts_201607]


Lalu klik run untuk menjalankan query. Luar biasa data sejumlah hampir 5 miliar baris dapat diquery hanya dalam waktu 2detik saja!

Menyiapkan Data Set

Untuk menjawab pertanyaan awal tadi, kita harus siapkan data set yang dibutuhkan pada saat visualisasi nantinya. Wikipedia memiliki artikel dengan beragam kategori. Karena pertanyaan yang ingin dijawab adalah tokoh terpopuler, berarti harus data set kita harus berupa data wikipedia yang telah difilter hanya berisi data tokoh-tokoh saja.

Berikut query untuk melihat kategori artikel apa saja yang ada di Wikipedia

select en_wiki, en_label, c, nid<br>FROM (<br>select top('Q'+string(instance_of.numeric_id),100) nid, count(*) c<br>from [fh-bigquery:public_dump.wikidata_v3]<br>)a<br>join [fh-bigquery:public_dump.wikidata_v3] b<br>ON a.nid = b.id<br>order by 3 desc
image

Dalam dua detik data tersebut telah tersaji dihadapan. Data No.1 Human itu kategori yang kita butuhkan untuk mencari daftar tokoh terpopuler.

Visualisasi dengan Tableau

Buka tableau, lalu buat koneksi datasource ke Google BigQuery

image

Isi informasi user dan password google account yang telah didaftarkan ke Google Cloud Platform tadi. Jika sudah berhasil akan muncul seperti ini

image

Untuk Project secara default belum menampilkan dataset dari fh-bigquery, anda bisa mengetikkankaan manual di field combobox project.
Untuk mendapatkan daftar tokoh terpopuler wikipedia indonesia, saya telah membuatkan custom query. Data set ini berisi nama tokoh, hari, dan total request. Silahkan insert custom query berikut ke Tableau.

SELECT day, tokoh, reqs FROM (<br> SELECT a.title title, DAY(datehour) day, FIRST(label) tokoh, SUM(a.requests) reqs<br> FROM [fh-bigquery:wikipedia.pagecounts_201607] a<br> JOIN (<br> SELECT a.title title, FIRST(b.label) label, SUM(requests) requests<br> FROM [fh-bigquery:wikipedia.pagecounts_201607] a<br> JOIN (<br> SELECT en_wiki title, en_label label<br> FROM [fh-bigquery:public_dump.wikidata_v3] <br> WHERE instance_of.numeric_id=5<br> ) b<br> ON a.title=b.title<br> WHERE language='id'<br> GROUP BY 1<br> ORDER BY 3 DESC<br> LIMIT 20<br> ) b<br> ON a.title=b.title<br> GROUP BY 1, 2<br>) <br>ORDER BY day ASC, reqs DESC

Berikut chart dari miliaran data wikipedia langsung di tampilkan Tableau secara interaktif hanya dalam hitungan detik!  Rasanya agak gak percaya ini data miliaran langsung, kayanya data ribuan baris di komputer lokal aja haha.

1. Top 10 Tokoh Terpopuler Wikipedia Indonesia Juli 2016

image

2. Lebih detail dengan data pergerakan request per hari nya di bulan Juli 2016

Dari data visual yang tersaji, terlihat grafik peningkatan Cristiano Ronaldo terjadi mulai dari awal bulan hingga mencapai puncaknya ketika Portugal memenangi juara EURO 2016 dimana Ronaldo yang saat itu ditarik keluar karena cedera, dianggap sebagai pahlawan inspirasi kemenangan Portugal atas Perancis.

Begitu pula dengan data tokoh pasangan Fethullah Gulen dan Erdogan, terlihat grafik yang sama peningkatannya bertepatan dengan peristiwa Kudeta di Turki yang berhasil digagalkan pemerintah dan menganggap Fethullah Gulen dalang nya.

Yang tidak kalah menarik Jokowi dan Sri Mulyani ditempatkan berdampingan oleh wikipedia #kode 2019 kah? :)

Saya sertakan workbook tableau saya bagi yang ingin mencoba disini. Enjoy :)