Menggunakan alat bq
Dalam tutorial ini, Anda akan mempelajari cara menggunakan bq, alat command-line
interface (CLI) berbasis Python untuk BigQuery guna membuat set data, memuat data
sampel, dan mengkueri tabel. Setelah menyelesaikan tutorial ini, Anda akan memahami
bq dan cara menggunakan BigQuery dengan CLI.
Untuk referensi lengkap tentang semua perintah dan flag bq, lihat
referensi alat command line bq.
Untuk mengikuti panduan langkah demi langkah untuk tugas ini langsung di Google Cloud konsol, klik Pandu saya:
Sebelum memulai
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Jika Anda menggunakan project yang sudah ada untuk panduan ini, pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini. Jika berhasil membuat project baru, berarti Anda sudah memiliki izin yang diperlukan.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Jika Anda menggunakan project yang sudah ada untuk panduan ini, pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini. Jika berhasil membuat project baru, berarti Anda sudah memiliki izin yang diperlukan.
-
Enable the BigQuery API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.Untuk project baru, BigQuery API diaktifkan secara otomatis.
- Opsional: Aktifkan penagihan untuk project. Jika Anda tidak ingin mengaktifkan penagihan atau memberikan kartu kredit, langkah-langkah dalam dokumen ini tetap berfungsi. BigQuery menyediakan sandbox untuk melakukan langkah-langkah tersebut. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan sandbox BigQuery.
-
Menjalankan tugas pemuatan dan tugas kueri:
BigQuery Job User (
roles/bigquery.jobUser) -
Buat set data, buat tabel, muat data ke dalam tabel, dan kueri tabel:
Editor Data BigQuery (
roles/bigquery.dataEditor) Download data Administrasi Jaminan Sosial AS dengan membuka URL berikut di tab browser baru:
https://www.ssa.gov/OACT/babynames/names.zipEkstrak file.
Untuk mengetahui informasi selengkapnya tentang skema set data, lihat file
NationalReadMe.pdfyang Anda ekstrak.Untuk melihat tampilan data tersebut, buka file
yob2024.txt. File ini berisi nilai yang dipisahkan koma untuk nama, jenis kelamin yang ditetapkan saat lahir, dan jumlah anak dengan nama tersebut. File tidak memiliki baris header.Pindahkan file ke direktori kerja Anda.
Jika Anda menggunakan Cloud Shell, klik
Selengkapnya Upload, klik Pilih File, pilih fileyob2024.txt, lalu klik Upload.Jika Anda bekerja di shell lokal, salin atau pindahkan file
yob2024.txtke direktori tempat Anda menjalankan alat bq.
Jika Anda meluncurkan Cloud Shell dari dokumentasi, masukkan perintah berikut untuk menetapkan project ID Anda. Tindakan ini mencegah Anda harus menentukan project ID di setiap perintah CLI.
gcloud config set project PROJECT_IDGanti PROJECT_ID dengan project ID Anda.
Masukkan perintah berikut untuk membuat set data bernama
babynames:bq mk --dataset babynamesOutputnya mirip dengan hal berikut ini:
Dataset 'babynames' successfully created.Pastikan set data
babynamessekarang muncul di project Anda:bq ls --datasets=trueOutput akan mirip dengan yang berikut ini:
datasetId ------------- babynamesDi set data
babynames, muat file sumberyob2024.txtke tabel baru bernamanames2024:bq load babynames.names2024 yob2024.txt name:string,assigned_sex_at_birth:string,count:integerOutputnya mirip dengan hal berikut ini:
Upload complete. Waiting on bqjob_r3c045d7cbe5ca6d2_0000018292f0815f_1 ... (1s) Current status: DONEPastikan tabel
names2024sekarang muncul dalam set datababynames:bq ls --format=pretty babynamesOutputnya mirip dengan yang berikut ini. Beberapa kolom dihilangkan untuk menyederhanakan output.
+-----------+-------+ | tableId | Type | +-----------+-------+ | names2024 | TABLE | +-----------+-------+Konfirmasi bahwa skema tabel
names2024baru Anda adalahname: string,assigned_sex_at_birth: string, dancount: integer:bq show babynames.names2024Outputnya mirip dengan yang berikut ini. Beberapa kolom dihilangkan untuk menyederhanakan output.
Last modified Schema Total Rows Total Bytes ----------------- ------------------------------- ------------ ------------ 14 Mar 17:16:45 |- name: string 31904 607494 |- assigned_sex_at_birth: string |- count: integerTentukan nama anak perempuan paling populer dalam data:
bq query \ 'SELECT name, count FROM babynames.names2024 WHERE assigned_sex_at_birth = "F" ORDER BY count DESC LIMIT 5'Output akan mirip dengan yang berikut ini:
+-----------+-------+ | name | count | +-----------+-------+ | Olivia | 14718 | | Emma | 13485 | | Amelia | 12740 | | Charlotte | 12552 | | Mia | 12113 | +-----------+-------+Tentukan nama anak laki-laki yang paling tidak populer dalam data:
bq query \ 'SELECT name, count FROM babynames.names2024 WHERE assigned_sex_at_birth = "M" ORDER BY count ASC LIMIT 5'Output akan mirip dengan yang berikut ini:
+---------+-------+ | name | count | +---------+-------+ | Aaran | 5 | | Aadiv | 5 | | Aadarsh | 5 | | Aarash | 5 | | Aadrik | 5 | +---------+-------+Jumlah minimumnya adalah 5 karena data sumber menghilangkan nama yang memiliki kurang dari 5 kemunculan.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Hapus set data
babynames:bq rm --recursive=true babynamesFlag
--recursiveakan menghapus semua tabel dalam set data, termasuk tabelnames2024.Output akan mirip dengan yang berikut ini:
rm: remove dataset 'myproject:babynames'? (y/N)Untuk mengonfirmasi perintah hapus, masukkan
y.- Pelajari lebih lanjut cara menggunakan alat bq.
- Pelajari sandbox BigQuery.
- Pelajari lebih lanjut cara memuat data ke BigQuery.
- Pelajari lebih lanjut cara meng-kueri data di BigQuery.
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk membuat set data, membuat tabel, memuat data, dan membuat kueri data, minta administrator untuk memberi Anda peran IAM berikut pada project:
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Download file yang berisi data sumber
File yang Anda download berukuran sekitar 7 MB yang berisi data tentang nama bayi populer. Ini disediakan oleh Administrasi Jaminan Sosial AS.
Untuk mengetahui informasi selengkapnya tentang data, lihat Informasi latar belakang untuk nama populer dari Administrasi Jaminan Sosial.
Membuat set data
Memuat data ke dalam tabel
Meng-kueri data tabel
Pembersihan
Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, hapus project Google Cloud yang berisi resource tersebut.
Menghapus project
Jika Anda menggunakan sandbox BigQuery untuk mengkueri set data publik, penagihan tidak akan diaktifkan untuk project Anda, dan Anda tidak perlu menghapus project.Cara termudah untuk menghilangkan penagihan adalah dengan menghapus project yang Anda buat untuk tutorial.
Untuk menghapus project:
Menghapus resource
Jika Anda menggunakan project yang ada, hapus resource yang dibuat: