Mernjelajahi alat command line bq
Alat command line bq adalah alat command line berbasis Python untuk BigQuery. Halaman ini berisi informasi umum tentang penggunaan alat command line bq.
Untuk referensi lengkap tentang semua perintah dan flag bq
, lihat
referensi alat command line bq.
Sebelum memulai
Sebelum dapat menggunakan alat command line bq, Anda harus menggunakan Konsol Google Cloud untuk membuat atau memilih project.
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
- BigQuery secara otomatis diaktifkan dalam project baru.
Untuk mengaktifkan BigQuery dalam project yang sudah ada, buka
Enable the BigQuery API.
- 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.
Memasukkan perintah bq
di Cloud Shell
Anda dapat memasukkan perintah alat command line bq di Cloud Shell baik dari Konsol Google Cloud maupun dari Google Cloud CLI.
Untuk menggunakan alat command line bq dari Konsol Google Cloud, aktifkan Cloud Shell:
Untuk menggunakan alat command line bq dari gcloud CLI, instal dan konfigurasi gcloud CLI.
Memosisikan flag dan argumen
Alat command line bq mendukung dua jenis flag:
- Flag global dapat digunakan di semua perintah.
- Flag khusus perintah diterapkan untuk perintah tertentu.
Untuk daftar flag global dan flag khusus perintah yang tersedia, lihat referensi alat command line bq.
Tempatkan flag global sebelum perintah bq
, lalu sertakan
flag khusus perintah. Anda dapat menyertakan beberapa flag global atau flag
khusus perintah. Contoh:
bq --location=us mk --reservation --project_id=project reservation_name
Anda dapat menentukan argumen perintah dengan cara berikut:
--FLAG ARGUMENT
(seperti yang ditunjukkan pada contoh sebelumnya)--FLAG=ARGUMENT
--FLAG='ARGUMENT'
--FLAG="ARGUMENT"
--FLAG 'ARGUMENT'
--FLAG "ARGUMENT"
Ganti kode berikut:
FLAG
: flag global atau flag khusus perintahARGUMENT
: argumen flag
Beberapa perintah memerlukan penggunaan tanda kutip tunggal atau ganda pada argumen. Hal ini sering kali berlaku jika argumen berisi spasi, koma, atau karakter khusus lainnya. Contoh:
bq query --nouse_legacy_sql \ 'SELECT COUNT(*) FROM `bigquery-public-data`.samples.shakespeare'
Flag dengan nilai boolean dapat ditentukan tanpa argumen. Jika menentukan
true
atau false
, Anda harus menggunakan format
FLAG=ARGUMENT
.
Misalnya, perintah ini menetapkan salah untuk flag boolean
--use_legacy_sql
dengan menempatkan no
di depan flag:
bq query --nouse_legacy_sql \ 'SELECT COUNT(*) FROM `bigquery-public-data`.samples.shakespeare'
Sebagai alternatif, untuk menentukan false
sebagai argumen flag, Anda dapat memasukkan
string berikut:
bq query --use_legacy_sql=false \ 'SELECT COUNT(*) FROM `bigquery-public-data`.samples.shakespeare'
Menjalankan kueri dari alat command line bq
Untuk mengambil kueri yang telah Anda kembangkan di Konsol Google Cloud dan menjalankannya dari alat command line bq, lakukan hal berikut:
Sertakan kueri dalam perintah
bq query
sebagai berikut:bq query --use_legacy_sql=false 'QUERY'
. GantiQUERY
dengan kueri.Format string kueri.
Jika perlu menggunakan literal string tambahan dalam kueri, Anda harus mengikuti aturan tanda kutip untuk shell yang Anda gunakan, seperti Bash atau PowerShell.
Contoh berikut menunjukkan pendekatan standar di Bash, yaitu menggunakan tanda kutip ganda untuk menunjukkan literal string dalam kueri, lalu menyisipkan kueri itu sendiri dalam tanda kutip tunggal:
'SELECT * FROM mydataset.mytable WHERE column1 = "value";'
Jika menyalin kueri dari lokasi lain, Anda juga harus menghapus komentar apa pun dalam kueri.
Misalnya, ubah kueri Konsol Google Cloud berikut:
-- count Shakespeare's use of the string "raisin" SELECT word, SUM(word_count) AS count FROM `bigquery-public-data`.samples.shakespeare WHERE word LIKE '%raisin%' GROUP BY word
menjadi kueri alat command line bq sebagai berikut:
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'
Untuk mengetahui informasi selengkapnya, lihat Menjalankan tugas kueri batch dan interaktif.
Mendapatkan bantuan
Untuk mendapatkan bantuan terkait alat command line bq, Anda dapat memasukkan perintah berikut:
- Untuk mengetahui versi alat command line bq yang diinstal, masukkan
bq version
. - Untuk mengetahui daftar lengkap perintah, masukkan
bq help
. - Untuk mengetahui daftar flag global, masukkan
bq --help
. - Untuk mendapatkan bantuan terkait perintah tertentu, masukkan
bq help COMMAND
. - Untuk mendapatkan bantuan terkait perintah tertentu dan mengetahui daftar flag global, masukkan
bq COMMAND --help
.
Ganti COMMAND
dengan perintah yang memerlukan bantuan.
Menetapkan nilai default untuk flag command line
Anda dapat menetapkan nilai default untuk flag command line dengan menyertakannya dalam
file konfigurasi alat command line bq, .bigqueryrc
. Sebelum mengonfigurasi
opsi default, Anda harus membuat file .bigqueryrc
terlebih dahulu. Anda dapat menggunakan
editor teks pilihan untuk membuat file. Setelah membuat file .bigqueryrc
,
Anda dapat menentukan jalur ke file tersebut menggunakan flag global --bigqueryrc
.
Jika flag --bigqueryrc
tidak ditentukan, variabel lingkungan
BIGQUERYRC
akan digunakan. Jika tidak ditentukan, jalur ~/.bigqueryrc
akan digunakan. Jalur default-nya adalah $HOME/.bigqueryrc
.
Menambahkan flag ke .bigqueryrc
Untuk menambahkan nilai default untuk flag command line ke .bigqueryrc
:
- Tempatkan flag global di bagian atas file tanpa header.
- Untuk flag khusus perintah, masukkan nama perintah (dalam tanda kurung) dan tambahkan flag khusus perintah (satu per baris) setelah nama perintah.
Contoh:
--apilog=stdout --format=prettyjson --location=US [query] --use_legacy_sql=false --max_rows=100 --maximum_bytes_billed=10000000 [load] --destination_kms_key=projects/myproject/locations/mylocation/keyRings/myRing/cryptoKeys/myKey
Contoh sebelumnya menetapkan nilai default untuk flag berikut:
- Flag global
--apilog
ditetapkan kestdout
untuk mencetak output proses debug ke Konsol Google Cloud. - Flag global
--format
ditetapkan keprettyjson
untuk menampilkan output perintah dalam format JSON yang dapat dibaca manusia. - Flag global
--location
ditetapkan ke lokasi multi-regionUS
. Flag khusus perintah
query
--use_legacy_sql
ditetapkan kefalse
untuk menjadikan GoogleSQL sebagai sintaksis kueri default.Flag khusus perintah
query
--max_rows
ditetapkan ke100
untuk mengontrol jumlah baris dalam output kueri.Flag khusus perintah
query
--maximum_bytes_billed
ditetapkan ke 10.000.000 byte (10 MB) untuk menggagalkan kueri yang membaca lebih dari 10 MB data.Flag khusus perintah
load
--destination_kms_key
ditetapkan keprojects/myproject/locations/mylocation/keyRings/myRing/cryptoKeys/myKey
.
Menjalankan alat command line bq dalam shell interaktif
Anda dapat menjalankan alat command line bq di shell interaktif tanpa perlu
memberi awalan pada perintah dengan bq
. Untuk memulai mode interaktif, masukkan bq shell
.
Setelah meluncurkan shell, perintah akan berubah menjadi ID project default Anda.
Untuk keluar dari mode interaktif, masuk ke exit
.
Menjalankan alat command line bq dalam skrip
Anda dapat menjalankan alat command line bq dalam skrip, seperti menjalankan
perintah Google Cloud CLI. Berikut adalah
contoh perintah gcloud
dan bq
dalam skrip bash:
#!/bin/bash
gcloud config set project myProject
bq query --use_legacy_sql=false --destination_table=myDataset.myTable \
'SELECT
word,
SUM(word_count) AS count
FROM
`bigquery-public-data`.samples.shakespeare
WHERE
word LIKE "%raisin%"
GROUP BY
word'
Menjalankan perintah bq
dari akun layanan
Anda dapat menggunakan akun layanan untuk melakukan panggilan API yang diotorisasi atau menjalankan tugas kueri atas nama Anda. Untuk menggunakan akun layanan di alat command line bq, izinkan akses ke Google Cloud dari akun layanan. Untuk mengetahui informasi selengkapnya, lihat gcloud auth activate-service-account.
Untuk mulai menjalankan perintah bq
menggunakan
peniruan akun layanan,
jalankan perintah berikut:
gcloud config set auth/impersonate_service_account SERVICE_ACCOUNT_NAME
Ganti SERVICE_ACCOUNT_NAME
dengan nama
akun layanan Anda.
Perintah bq
yang Anda jalankan kini menggunakan kredensial akun layanan.
Untuk berhenti menjalankan perintah bq
dari akun layanan, jalankan perintah berikut:
gcloud config unset auth/impersonate_service_account
Contoh
Anda dapat menemukan contoh command line di seluruh bagian Panduan cara kerja dalam dokumentasi BigQuery. Bagian ini mencantumkan link ke tugas command line yang umum seperti membuat, mendapatkan, mencantumkan, menghapus, dan mengubah resource BigQuery.
Membuat resource
Untuk mengetahui informasi tentang penggunaan alat command line bq guna membuat resource, lihat hal berikut:
- Membuat set data
- Membuat tabel kosong dengan definisi skema
- Membuat tabel dari hasil kueri
- Membuat tabel berpartisi berdasarkan waktu penyerapan
- Membuat tampilan
Untuk contoh pembuatan tabel menggunakan file data, lihat Memuat data.
Mendapatkan informasi tentang resource
Untuk informasi tentang penggunaan alat command line bq untuk mendapatkan informasi tentang resource, lihat artikel berikut:
- Mendapatkan informasi tentang set data
- Mendapatkan informasi tentang tabel
- Mendapatkan informasi tentang tampilan
Mencantumkan resource
Untuk mengetahui informasi tentang penggunaan alat command line bq dalam mencantumkan resource, lihat artikel berikut:
Mencantumkan tugas
Untuk mengetahui informasi tentang penggunaan alat command line bq untuk mencantumkan tugas, lihat artikel berikut:
Memperbarui resource
Untuk mengetahui informasi tentang penggunaan alat command line bq untuk memperbarui resource, lihat artikel berikut:
Memuat data
Untuk mengetahui informasi tentang penggunaan alat command line bq untuk memuat data, lihat artikel berikut:
- Memuat data Avro dari Cloud Storage
- Memuat data JSON dari Cloud Storage
- Memuat data CSV dari Cloud Storage
- Memuat data dari file lokal
Membuat kueri data
Untuk mengetahui informasi tentang penggunaan alat command line bq untuk membuat kueri data, lihat artikel berikut:
Menggunakan sumber data eksternal
Untuk mengetahui informasi tentang penggunaan alat command line bq untuk membuat kueri data dalam sumber data eksternal, lihat artikel berikut:
- Membuat definisi tabel menggunakan file skema JSON
- Membuat kueri data Bigtable
- Membuat kueri data Cloud Storage
- Membuat kueri data Google Drive
Mengekspor data
Untuk mengetahui informasi tentang penggunaan alat command line bq untuk mengekspor data, lihat artikel berikut:
Menggunakan BigQuery Data Transfer Service
Untuk mengetahui informasi tentang penggunaan alat command line bq dengan BigQuery Data Transfer Service, lihat artikel berikut:
- Menyiapkan transfer Amazon S3
- Menyiapkan transfer Campaign Manager
- Menyiapkan transfer Cloud Storage
- Menyiapkan transfer Google Ad Manager
- Menyiapkan transfer Google Ads
- Menyiapkan transfer Google Merchant Center (beta)
- Menyiapkan transfer Google Play
- Menyiapkan transfer Search Ads 360 (beta)
- Menyiapkan transfer Channel YouTube
- Menyiapkan transfer Pemilik Konten YouTube
- Memigrasikan data dari Amazon Redshift
- Memigrasikan data dari Teradata
Memecahkan masalah alat command line bq
Bagian ini menunjukkan cara menyelesaikan masalah pada alat command line bq.
Memastikan gcloud CLI Anda selalu terbaru
Jika menggunakan alat command line bq dari Google Cloud CLI, pastikan Anda memiliki fungsi dan perbaikan terbaru untuk alat command line bq dengan memastikan penginstalan gcloud CLI Anda selalu terbaru. Untuk mengetahui apakah Anda menjalankan gcloud CLI versi terbaru, masukkan perintah berikut di Cloud Shell:
gcloud components list
Dua baris pertama output menampilkan nomor versi penginstalan gcloud CLI saat ini dan nomor versi gcloud CLI terbaru. Jika menemukan bahwa versi Anda sudah usang, Anda dapat mengupdate penginstalan gcloud CLI ke versi terbaru dengan memasukkan perintah berikut di Cloud Shell:
gcloud components update
Proses Debug
Anda dapat memasukkan perintah berikut untuk melakukan debug pada alat command line bq:
Lihat permintaan yang dikirim dan diterima. Tambahkan flag
--apilog=PATH_TO_FILE
untuk menyimpan log operasi ke file lokal. GantiPATH_TO_FILE
dengan jalur tempat Anda ingin menyimpan log. Alat command line bq berfungsi dengan melakukan panggilan API berbasis REST standar, yang dapat berguna untuk dilihat. Anda juga dapat melampirkan log ini saat melaporkan masalah. Menggunakan-
ataustdout
, alih-alih jalur, akan mencetak log ke Konsol Google Cloud. Menyetel--apilog
kestderr
akan menghasilkan file error standar. Untuk mencatat permintaan lainnya, gunakan flag--httplib2_debuglevel=LOG_LEVEL
.LOG_LEVEL
yang lebih tinggi mencatat informasi selengkapnya tentang permintaan http.Memecahkan error. Masukkan flag
--format=prettyjson
saat mendapatkan status tugas atau saat melihat informasi mendetail tentang resource seperti tabel dan set data. Penggunaan flag ini menghasilkan respons dalam format JSON, termasuk propertireason
. Anda dapat menggunakan propertireason
untuk mencari langkah-langkah pemecahan masalah. Untuk mengetahui informasi selengkapnya tentang error selama eksekusi, gunakan flag--debug_mode
.