1. Ringkasan
BigQuery adalah database analisis berbiaya rendah dan tanpa pengoperasian (NoOps) yang terkelola sepenuhnya oleh Google. Dengan BigQuery, Anda dapat melakukan kueri pada data berukuran terabyte tanpa harus memiliki administrator database atau infrastruktur apa pun untuk mengelolanya. BigQuery menggunakan SQL yang sudah dikenal dan dapat memanfaatkan model bayar sesuai penggunaan. Dengan BigQuery, Anda dapat berfokus pada analisis data untuk menemukan insight yang bermakna.
Dalam codelab ini, Anda akan menjelajahi set data Wikipedia menggunakan BigQuery.
Yang akan Anda pelajari
- Cara menggunakan BigQuery
- Cara memuat set data dunia nyata ke BigQuery
- Cara menulis kueri untuk mendapatkan insight tentang set data besar
Yang Anda butuhkan
- Project Google Cloud
- Browser, seperti Google Chrome atau Firefox
Survei
Bagaimana Anda akan menggunakan tutorial ini?
Bagaimana penilaian Anda terhadap pengalaman menggunakan Google Cloud?
2. Penyiapan dan persyaratan
Aktifkan BigQuery
Jika belum memiliki Akun Google, Anda harus membuatnya.
- Login ke Konsol Google Cloud dan buka BigQuery. Anda juga dapat membuka UI web BigQuery secara langsung dengan memasukkan URL berikut di browser.
https://console.cloud.google.com/bigquery
- Setujui persyaratan layanan.
- Sebelum dapat menggunakan BigQuery, Anda harus membuat project. Ikuti petunjuk untuk membuat project baru.
Pilih nama project dan catat project ID. 
ID Project adalah nama unik di semua project Google Cloud. Project ID tersebut selanjutnya akan dirujuk di codelab ini sebagai PROJECT_ID.
Codelab ini menggunakan resource BigQuery dalam batas sandbox BigQuery. Akun penagihan tidak diperlukan. Jika ingin menghapus batas sandbox nanti, Anda dapat menambahkan akun penagihan dengan mendaftar ke uji coba gratis Google Cloud.
Anda akan memuat set data Wikipedia di bagian berikutnya.
3. Membuat set data
Pertama, buat set data baru dalam project. Set data terdiri dari beberapa tabel.
- Untuk membuat set data, klik nama project di panel resource, lalu klik Create dataset:

- Masukkan
labsebagai ID Set Data:

- Klik Buat set data untuk membuat set data kosong.
4. Memuat data dengan program command line bq
Mengaktifkan Cloud Shell
- Dari Cloud Console, klik Aktifkan Cloud Shell
.

Jika belum pernah memulai Cloud Shell, Anda akan melihat layar perantara (di paruh bawah) yang menjelaskan apa itu Cloud Shell. Jika demikian, klik Continue (dan Anda tidak akan pernah melihatnya lagi). Berikut tampilan layar sekali-tampil tersebut:

Perlu waktu beberapa saat untuk menyediakan dan terhubung ke Cloud Shell.

Virtual machine ini dimuat dengan semua alat pengembangan yang Anda perlukan. Layanan ini menawarkan direktori beranda tetap sebesar 5 GB dan beroperasi di Google Cloud, sehingga sangat meningkatkan performa dan autentikasi jaringan. Sebagian besar pekerjaan Anda dalam codelab ini dapat dilakukan hanya dengan browser atau Chromebook.
Setelah terhubung ke Cloud Shell, Anda akan melihat bahwa Anda sudah diautentikasi dan project sudah ditetapkan ke project ID Anda.
- Jalankan perintah berikut di Cloud Shell untuk mengonfirmasi bahwa Anda telah diautentikasi:
gcloud auth list
Output perintah
Credentialed Accounts
ACTIVE ACCOUNT
* <my_account>@<my_domain.com>
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- Jalankan perintah berikut di Cloud Shell untuk mengonfirmasi bahwa perintah gcloud mengetahui project Anda:
gcloud config list project
Output perintah
[core] project = <PROJECT_ID>
Jika tidak, Anda dapat menyetelnya dengan perintah ini:
gcloud config set project <PROJECT_ID>
Output perintah
Updated property [core/project].
Memuat data ke BigQuery
Untuk memudahkan Anda, beberapa data untuk 10 April 2019 dari set data tayangan halaman Wikimedia tersedia di Google Cloud Storage di gs://cloud-samples-data/third-party/wikimedia/pageviews/pageviews-20190410-140000.gz. File data adalah file CSV yang di-GZip. Anda dapat memuat file ini secara langsung menggunakan utilitas command line bq. Sebagai bagian dari perintah pemuatan, Anda juga menjelaskan skema file.
bq load \
--source_format CSV \
--field_delimiter " " \
--allow_jagged_rows \
--quote "" \
--max_bad_records 3 \
$GOOGLE_CLOUD_PROJECT:lab.pageviews_20190410_140000 \
gs://cloud-samples-data/third-party/wikimedia/pageviews/pageviews-20190410-140000.gz \
wiki,title,requests:integer,zero:integer
Anda menggunakan beberapa opsi lanjutan untuk memuat file tayangan halaman:
- Tetapkan
--source_format CSVuntuk menunjukkan bahwa file harus diurai sebagai file CSV. Langkah ini bersifat opsional karena CSV adalah format default. - Tetapkan
--field_delimiter " "untuk menunjukkan bahwa satu spasi digunakan untuk membatasi kolom. - Tetapkan
--allow_jagged_rowsuntuk menyertakan baris dengan jumlah kolom yang lebih sedikit dan mengabaikan error saat memuat file CSV. - Tetapkan
--quote ""untuk menunjukkan bahwa string tidak diapit tanda petik. - Tetapkan
--max_bad_records 3untuk mengabaikan paling banyak 3 error saat mengurai file CSV.
Anda dapat mempelajari lebih lanjut command line bq di dokumentasi.
5. Melihat Pratinjau Set Data
Di konsol BigQuery, buka salah satu tabel yang baru saja Anda muat.
- Perluas project.
- Luaskan set data.
- Pilih tabel.

Anda dapat melihat skema tabel di tab Schema. 4. Cari tahu jumlah data dalam tabel dengan membuka tab Detail:

- Buka tab Preview untuk melihat pilihan baris dari tabel.

6. Menulis kueri
- Klik Compose new query:

Tindakan ini akan menampilkan Query editor:

- Temukan jumlah total penayangan Wikimedia antara pukul 14.00 dan 15.00 pada 10 April 2019, dengan menulis kueri ini:
SELECT SUM(requests) FROM `lab.pageviews_20190410_140000`
- Klik Run:

Dalam beberapa detik, hasilnya akan tercantum di bagian bawah dan juga memberi tahu Anda jumlah data yang diproses:

Kueri ini memproses 123,9 MB, meskipun tabelnya berukuran 691,4 MB. BigQuery hanya memproses byte dari kolom yang digunakan dalam kueri, sehingga total jumlah data yang diproses dapat jauh lebih kecil daripada ukuran tabel. Dengan pengelompokan dan partisi, jumlah data yang diproses dapat dikurangi lebih lanjut.
7. Kueri yang lebih canggih
Menemukan tayangan halaman Wikipedia
Set data Wikimedia berisi tayangan halaman untuk semua project Wikimedia (termasuk Wikipedia, Wiktionary, Wikibooks, dan Wikiquotes). Persempit kueri hanya ke halaman Wikipedia berbahasa Inggris dengan menambahkan pernyataan WHERE:
SELECT SUM(requests), wiki FROM `lab.pageviews_20190410_140000` WHERE wiki = "en" GROUP BY wiki

Perhatikan bahwa, dengan membuat kueri kolom tambahan, wiki, jumlah data yang diproses meningkat dari 124 MB menjadi 204 MB.
BigQuery mendukung banyak klausa SQL yang sudah dikenal, seperti CONTAINS, GROUP BY, ORDER BY, dan sejumlah fungsi agregasi. Selain itu, Anda juga dapat menggunakan ekspresi reguler untuk membuat kueri kolom teks. Coba salah satunya:
SELECT title, SUM(requests) requests FROM `lab.pageviews_20190410_140000` WHERE wiki = "en" AND REGEXP_CONTAINS(title, 'Red.*t') GROUP BY title ORDER BY requests DESC
Membuat kueri di beberapa tabel
Anda dapat memilih rentang tabel untuk membentuk gabungan menggunakan tabel karakter pengganti.
- Pertama, buat tabel kedua untuk dikueri dengan memuat tayangan halaman jam berikutnya ke dalam tabel baru:
bq load \
--source_format CSV \
--field_delimiter " " \
--quote "" \
$GOOGLE_CLOUD_PROJECT:lab.pageviews_20190410_150000 \
gs://cloud-samples-data/third-party/wikimedia/pageviews/pageviews-20190410-150000.gz \
wiki,title,requests:integer,zero:integer
- Di Query editor, kueri kedua tabel yang Anda muat dengan membuat kueri tabel dengan "
pageviews_2019" sebagai awalan:
SELECT title, SUM(requests) requests FROM `lab.pageviews_2019*` WHERE wiki = "en" AND REGEXP_CONTAINS(title, 'Red.*t') GROUP BY title ORDER BY requests DESC
Anda dapat memfilter tabel secara lebih selektif dengan kolom semu _TABLE_SUFFIX. Kueri ini dibatasi pada tabel yang sesuai dengan 10 April.
SELECT title, SUM(requests) requests FROM `lab.pageviews_2019*` WHERE _TABLE_SUFFIX BETWEEN '0410' AND '0410_9999999' AND wiki = "en" AND REGEXP_CONTAINS(title, 'Red.*t') GROUP BY title ORDER BY requests DESC
8. Pembersihan
Secara opsional, hapus set data yang Anda buat dengan perintah bq rm. Gunakan flag -r untuk menghapus tabel apa pun yang ada di dalamnya.
bq rm -r lab
9. Selamat!
Anda menggunakan BigQuery dan SQL untuk membuat kueri set data penayangan halaman Wikipedia dunia nyata. Anda memiliki kemampuan untuk membuat kueri set data berskala petabyte.
Pelajari lebih lanjut
- Lihat subreddit BigQuery untuk mengetahui cara orang lain menggunakan BigQuery saat ini.
- Temukan set data publik yang tersedia di BigQuery.
- Pelajari cara memuat data ke BigQuery.