GSP071

Ringkasan
Menyimpan dan mengkueri set data berukuran sangat besar dapat menjadi proses yang mahal dan memakan waktu jika tidak dilakukan dengan perangkat keras dan infrastruktur yang tepat. BigQuery adalah cloud data warehouse serverless dan sangat skalabel yang mengatasi masalah ini dengan memungkinkan Kueri SQL super-cepat menggunakan kecanggihan pemrosesan infrastruktur Google. Cukup pindahkan data Anda ke BigQuery dan biarkan kami yang menangani sisanya. Anda dapat mengontrol akses baik ke project maupun data Anda berdasarkan kebutuhan bisnis, seperti mengizinkan orang lain melihat atau mengkueri data Anda.
Anda dapat mengakses BigQuery melalui Konsol, UI Web, atau alat command line menggunakan berbagai library klien seperti Java, .NET, atau Python. Anda juga dapat menggunakan berbagai penyedia solusi untuk berinteraksi dengan BigQuery.
Lab praktik ini menunjukkan kepada Anda cara menggunakan bq
, alat command line berbasis python untuk BigQuery, untuk mengkueri tabel publik dan memuat data sampel ke BigQuery.
Yang akan Anda lakukan
- Mengkueri set data publik
- Membuat set data baru
- Memuat data ke tabel baru
- Mengkueri tabel kustom
Penyiapan dan persyaratan
Sebelum mengklik tombol Start Lab
Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer yang dimulai saat Anda mengklik Start Lab akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.
Lab interaktif ini dapat Anda gunakan untuk melakukan aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.
Untuk menyelesaikan lab ini, Anda memerlukan:
- Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran (direkomendasikan) atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
- Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Hanya gunakan akun siswa untuk lab ini. Jika Anda menggunakan akun Google Cloud yang berbeda, Anda mungkin akan dikenai tagihan ke akun tersebut.
Cara memulai lab dan login ke Google Cloud Console
-
Klik tombol Start Lab. Jika Anda perlu membayar lab, dialog akan terbuka untuk memilih metode pembayaran.
Di sebelah kiri ada panel Lab Details yang berisi hal-hal berikut:
- Tombol Open Google Cloud console
- Waktu tersisa
- Kredensial sementara yang harus Anda gunakan untuk lab ini
- Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
-
Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).
Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.
Tips: Atur tab di jendela terpisah secara berdampingan.
Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
-
Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.
{{{user_0.username | "Username"}}}
Anda juga dapat menemukan Username di panel Lab Details.
-
Klik Next.
-
Salin Password di bawah dan tempel ke dialog Welcome.
{{{user_0.password | "Password"}}}
Anda juga dapat menemukan Password di panel Lab Details.
-
Klik Next.
Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda.
Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
-
Klik halaman berikutnya:
- Setujui persyaratan dan ketentuan.
- Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
- Jangan mendaftar uji coba gratis.
Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.
Catatan: Untuk mengakses produk dan layanan Google Cloud, klik Navigation menu atau ketik nama layanan atau produk di kolom Search.
Mengaktifkan Cloud Shell
Cloud Shell adalah mesin virtual yang dilengkapi dengan berbagai alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell menyediakan akses command-line untuk resource Google Cloud Anda.
-
Klik Activate Cloud Shell
di bagian atas Konsol Google Cloud.
-
Klik jendela berikut:
- Lanjutkan melalui jendela informasi Cloud Shell.
- Beri otorisasi ke Cloud Shell untuk menggunakan kredensial Anda guna melakukan panggilan Google Cloud API.
Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke Project_ID, . Output berisi baris yang mendeklarasikan Project_ID untuk sesi ini:
Project Cloud Platform Anda dalam sesi ini disetel ke {{{project_0.project_id | "PROJECT_ID"}}}
gcloud
adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.
- (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
- Klik Authorize.
Output:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
Untuk menetapkan akun aktif, jalankan:
$ gcloud config set account `ACCOUNT`
- (Opsional) Anda dapat menampilkan daftar ID project dengan perintah ini:
gcloud config list project
Output:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Catatan: Untuk mendapatkan dokumentasi gcloud
yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.
Tugas 1. Menguji tabel
BigQuery menawarkan sejumlah tabel sampel yang dapat Anda kueri. Di lab ini, Anda akan mengkueri tabel shakespeare
, yang berisi entri untuk setiap kata dalam setiap drama.
Untuk menguji skema tabel Shakespeare dalam set data sampel, jalankan:
bq show bigquery-public-data:samples.shakespeare
Pada perintah ini, Anda akan melakukan hal berikut:
-
bq
untuk memanggil alat command line BigQuery
-
show
adalah tindakannya
- Kemudian, Anda mencantumkan nama
project:public dataset.table
di BigQuery yang ingin Anda lihat.
Output:
Last modified Schema Total Rows Total Bytes Expiration Time Partitioning Clustered Fields Labels
----------------- ------------------------------------ ------------ ------------- ------------ ------------------- ------------------ --------
14 Mar 13:16:45 |- word: string (required) 164656 6432064
|- word_count: integer (required)
|- corpus: string (required)
|- corpus_date: integer (required)
Tugas 2. Menjalankan perintah help
Jika Anda menyertakan nama perintah dengan perintah help, Anda akan mendapatkan informasi tentang perintah spesifik tersebut.
- Misalnya, panggilan ke
bq help
berikut akan mengambil informasi tentang perintah query
:
bq help query
- Untuk melihat daftar semua perintah yang digunakan
bq
, jalankan bq help
saja.
Tugas 3. Menjalankan kueri
Sekarang, Anda akan menjalankan kueri untuk melihat berapa kali substring "raisin" muncul dalam karya Shakespeare.
- Untuk menjalankan kueri, jalankan perintah
bq query "[SQL_STATEMENT]"
:
- Jalankan kueri SQL standar berikut di Cloud Shell untuk menghitung berapa kali substring "raisin" muncul di semua karya Shakespeare:
bq query --use_legacy_sql=false \
'SELECT
word,
SUM(word_count) AS count
FROM
`bigquery-public-data`.samples.shakespeare
WHERE
word LIKE "%raisin%"
GROUP BY
word'
Dalam perintah ini:
-
--use_legacy_sql=false
menjadikan SQL standar sebagai sintaksis kueri default.
Output:
Waiting on job_e19 ... (0s) Current status: DONE
+---------------+-------+
| word | count |
+---------------+-------+
| praising | 8 |
| Praising | 4 |
| raising | 5 |
| dispraising | 2 |
| dispraisingly | 1 |
| raisins | 1 |
Tabel ini menunjukkan bahwa meskipun kata raisin secara persis tidak ditemukan, huruf-hurufnya muncul dengan urutan yang serupa kata tersebut dalam beberapa karya Shakespeare.
Menguji tugas yang sudah selesai
Klik Periksa progres saya untuk memverifikasi tugas yang telah dijalankan. Jika telah berhasil mengkueri set data publik, Anda akan melihat skor penilaian.
Menjalankan kueri (set data: sampel, tabel: shakespeare, substring: raisin)
Jika Anda mencari kata yang tidak terdapat dalam karya Shakespeare, tidak ada hasil yang akan ditampilkan.
- Jalankan pencarian berikut untuk kata "huzzah", dan tidak ada kecocokan yang ditampilkan:
bq query --use_legacy_sql=false \
'SELECT
word
FROM
`bigquery-public-data`.samples.shakespeare
WHERE
word = "huzzah"'
Menguji tugas yang sudah selesai
Klik Periksa progres saya untuk memverifikasi tugas yang telah dijalankan. Jika telah berhasil mengkueri set data publik, Anda akan melihat skor penilaian.
Menjalankan kueri (set data: sampel, tabel: shakespeare, substring: huzzah)
Tugas 4. Membuat tabel baru
Sekarang, buat tabel Anda sendiri. Setiap tabel disimpan di dalam set data. Set data adalah sekelompok resource, seperti tabel dan tabel virtual.
Membuat set data baru
- Gunakan perintah
bq ls
untuk memunculkan setiap set data yang ada di project Anda:
bq ls
Anda akan diarahkan kembali ke command line karena belum ada set data apa pun di project Anda.
- Jalankan
bq ls
dan Project ID bigquery-public-data
untuk mencantumkan set data di project spesifik tersebut, diikuti dengan titik dua (:):
bq ls bigquery-public-data:
Output:
datasetId
-----------------------------
austin_311
austin_bikeshare
austin_crime
austin_incidents
austin_waste
baseball
bitcoin_blockchain
bls
census_bureau_construction
census_bureau_international
census_bureau_usa
census_utility
chicago_crime
...
Sekarang, buat set data. Panjang nama set data maksimal 1.024 karakter, dan terdiri atas A-Z, a-z, 0-9, serta garis bawah. Namun, nama set data tidak boleh diawali dengan angka atau garis bawah, atau memiliki spasi.
- Gunakan perintah
bq mk
untuk membuat set data baru yang bernama babynames
di project Anda:
bq mk babynames
Contoh output:
Dataset 'qwiklabs-gcp-ba3466847fe3cec0:babynames' successfully created.
Menguji tugas yang sudah selesai
Klik Periksa progres saya untuk memverifikasi tugas yang telah dijalankan. Jika telah berhasil membuat set data BigQuery yang bernama babynames, Anda akan melihat skor penilaian.
Membuat set data baru (nama: babynames)
- Jalankan
bq ls
untuk memastikan set data sekarang muncul sebagai bagian dari project Anda:
bq ls
Contoh output:
datasetId
-------------
babynames
Mengupload set data
Agar dapat membuat tabel ini, Anda harus menambahkan set data ke project Anda. File data khusus yang akan Anda gunakan berisi data nama bayi populer dengan ukuran sekitar 7 MB, yang disediakan oleh Badan Penyelenggara Jaminan Sosial AS.
- Jalankan perintah ini untuk menambahkan file ZIP babynames ke project Anda menggunakan URL untuk file data tersebut:
wget http://www.ssa.gov/OACT/babynames/names.zip
- Munculkan file:
ls
Bisa Anda lihat, nama file ini ditambahkan ke project.
- Sekarang, ekstrak file:
unzip names.zip
- Anda akan mendapatkan daftar file teks yang cukup panjang. Munculkan file itu lagi:
ls
Perintah bq load
membuat atau memperbarui tabel dan memuat data dalam satu langkah.
Anda akan menggunakan perintah bq load
untuk memuat file sumber ke tabel baru yang bernama names2010 di set data babynames yang baru saja Anda buat. Secara default, tindakan ini berjalan secara sinkron, dan akan selesai dalam beberapa detik.
Argumen bq load
yang akan Anda jalankan adalah:
datasetID: babynames
tableID: names2010
source: yob2010.txt
schema: name:string,gender:string,count:integer
- Buat tabel Anda:
bq load babynames.names2010 yob2010.txt name:string,gender:string,count:integer
Contoh output:
Waiting on job_4f0c0878f6184119abfdae05f5194e65 ... (35s) Current status: DONE
Menguji tugas yang sudah selesai
Klik Periksa progres saya untuk memverifikasi tugas yang telah dijalankan. Jika telah berhasil memuat data ke dalam tabel set data, Anda akan melihat skor penilaian.
Memuat data ke tabel baru
- Jalankan
bq ls
dan babynames
untuk memastikan tabel tersebut kini muncul di set data Anda:
bq ls babynames
Output:
tableId Type
----------- -------
names2010 TABLE
- Jalankan
bq show
dan dataset.table
Anda untuk melihat skemanya:
bq show babynames.names2010
Output:
Last modified Schema Total Rows Total Bytes Expiration Time Partitioning Clustered Fields Labels
----------------- ------------------- ------------ ------------- ----------------- ------------------- ------------------ --------
13 Aug 14:37:34 |- name: string 34073 654482 12 Oct 14:37:34
|- gender: string
|- count: integer
Catatan: Secara default, saat Anda memuat data, BigQuery mengharapkan data berenkode UTF-8. Jika data Anda berenkode ISO-8859-1 (atau Latin-1) dan Anda menemui masalah dengan data yang dimuat, Anda dapat secara eksplisit meminta BigQuery agar memperlakukan data tersebut sebagai Latin-1, menggunakan flag -E
. Pelajari lebih lanjut Encoding Karakter dari Pengantar pemuatan data.
Tugas 5. Menjalankan kueri
Sekarang, Anda siap mengkueri data dan menampilkan beberapa hasil yang menarik.
- Jalankan perintah berikut untuk menampilkan 5 nama anak perempuan terpopuler:
bq query "SELECT name,count FROM babynames.names2010 WHERE gender = 'F' ORDER BY count DESC LIMIT 5"
Output:
Waiting on job_58c0f5ca52764ef1902eba611b71c651 ... (0s) Current status: DONE
+----------+-------+
| name | count |
+----------+-------+
| Isabella | 22913 |
| Sophia | 20643 |
| Emma | 17345 |
| Olivia | 17028 |
| Ava | 15433 |
+----------+-------+
- Jalankan perintah berikut untuk melihat 5 nama anak laki-laki yang paling tidak umum:
bq query "SELECT name,count FROM babynames.names2010 WHERE gender = 'M' ORDER BY count ASC LIMIT 5"
Catatan: Jumlah minimum adalah 5 karena data sumber menghilangkan nama yang kemunculannya kurang dari 5 kali.
Output:
Waiting on job_556ba2e5aad340a7b2818c3e3280b7a3 ... (1s) Current status: DONE
+----------+-------+
| name | count |
+----------+-------+
| Aaqib | 5 |
| Aaidan | 5 |
| Aadhavan | 5 |
| Aarian | 5 |
| Aamarion | 5 |
+----------+-------+
Menguji tugas yang sudah selesai
Klik Periksa progres saya untuk memverifikasi tugas yang telah dijalankan. Jika telah berhasil menjalankan kueri terhadap set data khusus, Anda akan melihat skor penilaian.
Menjalankan kueri terhadap tabel set data
Tugas 6. Menguji Pemahaman Anda
Di bawah ini terdapat pertanyaan pilihan ganda untuk memperkuat pemahaman Anda tentang konsep lab ini. Jawab pertanyaan tersebut sebaik mungkin.
Tugas 7. Membersihkan set data
- Jalankan perintah
bq rm
untuk menghapus set data babynames
yang memiliki flag -r
guna menghapus semua tabel dalam set data tersebut:
bq rm -r babynames
- Konfirmasi perintah penghapusan dengan mengetik
Y
.
Menguji tugas yang sudah selesai
Klik Periksa progres saya untuk memverifikasi tugas yang telah dijalankan. Jika telah berhasil menghapus set data babynames, Anda akan melihat skor penilaian.
Menghapus set data babynames
Selamat!
Sekarang, Anda dapat menggunakan command line untuk mengkueri tabel publik dan memuat data sampel ke BigQuery.
Langkah berikutnya/Pelajari lebih lanjut
Lab ini juga merupakan bagian dari rangkaian lab yang disebut Qwik Start. Lab ini dirancang agar Anda dapat mencoba berbagai fitur yang tersedia dengan Google Cloud. Telusuri "Qwik Start" di katalog lab untuk menemukan lab berikutnya yang ingin Anda ikuti.
Sertifikasi dan pelatihan Google Cloud
...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.
Manual Terakhir Diperbarui pada 2 Mei 2025
Lab Terakhir Diuji pada 2 Mei 2025
Hak cipta 2025 Google LLC. Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.