
Tutorial Koneksi BigQuery dengan Python dan Pandas - Part 1
BigQuery adalah service data warehouse yang ditawarkan oleh Google Cloud Platform (GCP) yang memungkinkan kita untuk dapat menyimpan dan menganalisis data dalam jumlah besar sehingga menjadi pilihan bagi banyak perusahaan di dunia, termasuk di Indonesia. Python sendiri adalah salah satu bahasa pemograman yang populer karena kemudahan sintaks nya, pilihan library yang beragam, juga karena komunitas nya yang luas. Pandas adalah salah satu library open source yang banyak digunakan untuk melakukan ekstraksi data, manipulasi data, dan juga memuat data (baca: ETL)
Pada tutorial kali ini, kita akan membahas tentang bagaimana cara untuk mengintegrasikan Python dengan Google BigQuery dan memanipulasi data nya menggunakan library Pandas.
Sebelum melanjutkan tutorial, berikut adalah pre-requisites yang diperlukan untuk mengikuti tutorial ini:
-
Memiliki akun Google Cloud Platform dan dapat mengakses BigQuery
-
Memiliki dasar pemahaman dalam pemrograman Python terutama penggunaan library Pandas
Content
-
Mengaktifkan service BigQuery API melalui console
-
Membuat service account key
-
Install library yang diperlukan
-
Membaca data dari BigQuery menjadi Pandas Dataframe
-
Memuat data dari Dataframe ke BigQuery
Pada Part 1 kali ini, kita akan fokus untuk mengaktifkan service BigQuery API dan membuat Service Account Key. Untuk mengintegrasikan Python dengan BigQuery dapat dilihat pada Part 2
Mengaktifkan Service BigQuery API Melalui Console
Untuk dapat terkoneksi dengan BigQuery, kita perlu mengaktifkan service BigQuery API yang memungkinkan kita untuk berkomunikasi dengan BigQuery lewat kode Python yang akan kita buat.
-
Masuk ke console Google Cloud Platform (https://console.cloud.google.com/) dan cari BigQuery API pada pencarian
-
Klik “Enable” atau “Aktifkan” dan tunggu sampai selesai dan berubah menjadi Manage. Gambar dibawah menampilkan Manage karena sudah di Enable sebelumnya
Membuat Service Account key
Setelah mengaktifkan service BigQuery API, kita perlu untuk membuat Service Account Key yang nantinya akan digunakan pada program python kita
-
Klik manage dan pilih CREDENTIALS
-
Scroll sedikit kebawah sampai menemukan “Manage service accounts”
-
Klik CREATE SERVICE ACCOUNT
-
Isi Service account name sesuai keinginan dan klik CREATE AND CONTINUE
-
Pada bagian Grant tis service account access to project, klik Select a role, cari BigQuery Data Owner dan pilih role tersebut. Lalu klik Continue
Mohon diperhatikan bahwa langkah ini tidak direkomendasikan karena kita mengizinkan akses ke semua datasets pada BigQuery, jika teman-teman paham dengan akses kontrol (IAM), kita bisa membuat Roles sendiri dengan permission yang di butuhkan saja (Least Privilege). Oleh karena itu jika menggunakan role ini, pastikan untuk menghapus akses nya jika sudah tidak digunakan - Pada Grant users access to this service account bisa kita ignore dan klik Done
-
Jika Service Accounts sudah dibuat, maka secara otomatis yang sudah kita buat akan muncul. Klik link berwarna biru
-
Klik tab KEY dan klik ADD KEY → Create New Key
-
Pilih JSON dan klik Create
-
Akan ada file yang ter-download, pindahkan file ini ke directory tempat script Python kalian akan dibuat. File ini yang akan kita gunakan untuk mengkoneksikan python dengan BigQuery
File ini berisi akses ke akun BigQuery teman-teman. Oleh karena itu jaga baik baik dan simpan di directory yang aman, jika menggunakan Git pastikan untuk memadukan file ini ke .gitignore Jangan sampai file ini tersebar terutama ke Internet
Pada tahap ini, teman-teman sudah membuat Service Account Key yang nantinya akan dapat digunakan di dalam program Python kita untuk terkoneksi dengan BigQuery. Pada Part 2, kita akan melanjutkan untuk menginstall library yang diperlukan dan mulai membuat program untuk berinteraksi dengan BigQuery.