1. Ringkasan
BigQuery adalah database analisis berbiaya rendah, tanpa pengoperasian, dan terkelola sepenuhnya dari Google. Dengan BigQuery, Anda dapat membuat kueri data berukuran terabyte dan terabyte tanpa memiliki infrastruktur untuk dikelola, dan tidak memerlukan administrator database. 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 {i>dataset<i} dunia nyata ke dalam BigQuery
- Cara menulis kueri untuk mendapatkan insight tentang {i>dataset<i} yang 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 Anda menggunakan Google Cloud?
2. Penyiapan dan persyaratan
Mengaktifkan BigQuery
Jika belum memiliki Akun Google, Anda harus membuatnya.
- Login ke Konsol Google Cloud, lalu buka BigQuery. Anda juga dapat membuka UI web BigQuery secara langsung dengan memasukkan URL berikut di browser Anda.
https://console.cloud.google.com/bigquery
- Setujui persyaratan layanan.
- Sebelum dapat menggunakan BigQuery, Anda harus membuat proyek. Ikuti petunjuk untuk membuat project baru.
Pilih nama project dan catat ID project-nya.
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 nanti Anda ingin menghapus batas sandbox, Anda dapat menambahkan akun penagihan dengan mendaftar ke uji coba gratis Google Cloud.
Anda memuat {i>dataset <i}Wikipedia di bagian selanjutnya.
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 bawah panel resource, lalu klik Create dataset:
- Masukkan
lab
sebagai ID Set Data:
- Klik Create dataset 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 Lanjutkan (dan Anda tidak akan pernah melihatnya lagi). Berikut tampilan layar sekali-tampil tersebut:
Perlu waktu beberapa saat untuk penyediaan dan terhubung ke Cloud Shell.
Mesin virtual ini dimuat dengan semua alat pengembangan yang Anda butuhkan. 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, sebagian data untuk 10 April 2019, dari set data kunjungan halaman Wikimedia tersedia di Google Cloud Storage di gs://cloud-samples-data/third-party/wikimedia/pageviews/pageviews-20190410-140000.gz
. File data berupa file CSV GZip. Anda dapat memuat file ini secara langsung menggunakan utilitas command line bq
. Sebagai bagian dari perintah load, Anda juga menjelaskan skema filenya.
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 kunjungan halaman:
- Tetapkan
--source_format CSV
untuk menunjukkan bahwa file harus diurai sebagai file CSV. Langkah ini opsional karena CSV adalah format default. - Setel
--field_delimiter " "
untuk menunjukkan bahwa satu spasi digunakan untuk membatasi kolom. - Tetapkan
--allow_jagged_rows
untuk menyertakan baris dengan jumlah kolom yang lebih sedikit dan mengabaikan error saat memuat file CSV. - Setel
--quote ""
untuk menunjukkan bahwa string tidak diberi tanda kutip. - Setel
--max_bad_records 3
untuk mengabaikan maksimal 3 error saat mengurai file CSV.
Anda dapat mempelajari lebih lanjut command line bq dalam dokumentasi.
5. Melihat pratinjau Set data
Di konsol BigQuery, buka salah satu tabel yang baru saja Anda muat.
- Memperluas project.
- Luaskan set data.
- Pilih tabel.
Anda dapat melihat skema tabel di tab Schema. 4. Cari tahu jumlah data yang ada di 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 tampilan 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 berapa banyak data yang diproses:
Kueri ini memproses 123,9 MB, padahal tabelnya 691,4 MB. BigQuery hanya memproses byte dari kolom yang digunakan dalam kueri, sehingga jumlah total data yang diproses bisa jauh lebih kecil daripada ukuran tabel. Dengan pengelompokan dan partisi, jumlah data yang diproses dapat dikurangi lebih lanjut.
7. Kueri lanjutan lainnya
Menemukan kunjungan halaman Wikipedia
Set data Wikimedia berisi kunjungan halaman untuk semua project Wikimedia (termasuk Wikipedia, Wiktionary, Wikibooks, dan Wikiquotes). Persempit kueri ke hanya halaman Wikipedia bahasa 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 mengajukan kueri bidang teks. Coba salah satu:
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 dari jam berikutnya ke 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 Editor kueri, buat kueri pada 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 pseudo _TABLE_SUFFIX. Kueri ini membatasi tabel yang terkait 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 tanda -r
untuk menghapus tabel yang ada di dalamnya.
bq rm -r lab
9. Selamat!
Anda telah menggunakan BigQuery dan SQL untuk membuat kueri {i>dataset<i} tayangan halaman Wikipedia di 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.