Referensi alat command line bq
Dokumen ini menjelaskan sintaksis, perintah, flag, dan argumen untuk bq, alat command line berbasis Python untuk BigQuery.
Untuk mengetahui tutorial tentang penggunaan alat command line bq, lihat Memuat dan mengkueri data dengan alat bq.
Cara menggunakan alat command line bq
Anda dapat memasukkan perintah alat command line bq di Cloud Shell baik dari konsol Google Cloud maupun dari penginstalan lokal Google Cloud CLI.
Untuk menggunakan alat command line bq dari konsol Google Cloud , aktifkan Cloud Shell:
Untuk menggunakan alat command line bq secara lokal, instal dan konfigurasi gcloud CLI. Untuk menjaga agar penginstalan Anda tetap terbaru, lihat Mengelola penginstalan di dokumentasi gcloud CLI.
Format perintah
Alat command line bq menggunakan format berikut:
bq COMMAND [FLAGS] [ARGUMENTS]
Beberapa flag dapat digunakan dengan beberapa perintah alat command line bq; flag ini dijelaskan di bagian Flag global.
Flag lainnya bersifat khusus perintah; hanya dapat digunakan dengan perintah alat command line bq tertentu. Flag khusus perintah dijelaskan di bagian perintah.
Menentukan nilai untuk flag
Saat Anda menentukan nilai untuk flag, flag sama dengan (=) bersifat opsional. Misalnya, dua perintah berikut bersifat setara:
bq ls --format prettyjson myDataset bq ls --format=prettyjson myDataset
Dokumen ini menggunakan flag sama dengan agar lebih jelas.
Beberapa flag alat command line bq berupa boolean; Anda dapat menetapkan nilai flag ke
true atau false.
Alat command line bq menerima format berikut untuk menyetel flag boolean.
| Nilai | Format | Contoh |
|---|---|---|
true |
--FLAGNAME=true |
--debug_mode=true |
true |
--FLAGNAME |
--debug_mode |
false |
--FLAGNAME=false |
--debug_mode=false |
false |
--noFLAGNAME |
--nodebug_mode |
Dokumen ini menggunakan format --FLAGNAME=VALUE untuk flag boolean.
Semua flag boolean bersifat opsional; jika flag boolean tidak ada, BigQuery akan menggunakan nilai default flag tersebut.
Menentukan resource BigQuery dalam argumen
Format untuk menentukan resource bergantung pada konteksnya; dalam beberapa kasus,
pemisah antara project dan set data adalah titik dua (:), dan dalam beberapa kasus,
pemisah antara project dan set data adalah titik (.). Tabel berikut menjelaskan cara menentukan tabel BigQuery dalam konteks yang berbeda.
| Konteks | Format | Contoh |
|---|---|---|
| alat command line bq | PROJECT:DATASET.TABLE |
myProject:myDataset.myTable |
| Kueri GoogleSQL | PROJECT.DATASET.TABLE |
myProject.myDataset.myTable |
| Kueri SQL lama | PROJECT:DATASET.TABLE |
myProject:myDataset.myTable |
Jika Anda tidak menentukan project, BigQuery akan menggunakan project saat ini. Misalnya, jika project saat ini adalah myProject, BigQuery akan menafsirkan myDataset.myTable sebagai myProject:myDataset.myTable (atau myProject.myDataset.myTable).
Beberapa ID resource harus dikutip menggunakan tanda petik terbalik (` ).
Jika ID resource Anda diawali dengan huruf atau karakter garis bawah, dan
hanya berisi karakter berupa huruf, angka, serta garis bawah, Anda tidak
perlu mengutipnya. Namun, jika ID resource Anda
berisi jenis karakter
lain, atau kata kunci khusus, Anda harus mengapit ID (atau
bagian ID dengan karakter khusus atau kata kunci khusus) dengan
tanda petik terbalik. Untuk mengetahui informasi selengkapnya, lihat ID.
Cara menjalankan perintah
Tempatkan flag global sebelum perintah bq, lalu
sertakan flag khusus perintah. Anda dapat menyertakan beberapa flag global atau
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 pada argumen. Jika tanda kutip diperlukan, tanda kutip tunggal atau ganda dapat diterima. Argumen yang memerlukan tanda petik biasanya adalah nilai yang berisi spasi, koma, atau karakter khusus lainnya. Jika argumen Anda berisi resource BigQuery, pastikan untuk mengikuti aturan untuk menentukan nama resource dalam perintah.
Contoh ini menunjukkan cara menjalankan kueri GoogleSQL di command line:
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 perintah 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'
Menggunakan 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
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.
Cara menambahkan tanda 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
--apilogditetapkan kestdoutuntuk mencetak output proses debug ke konsolGoogle Cloud . - Flag global
--formatditetapkan keprettyjsonuntuk menampilkan output perintah dalam format JSON yang dapat dibaca manusia. - Flag global
--locationditetapkan ke lokasi multi-regionUS. Flag khusus perintah
query--use_legacy_sqlditetapkan kefalseuntuk menjadikan GoogleSQL sebagai sintaksis kueri default.Flag khusus perintah
query--max_rowsditetapkan ke100untuk mengontrol jumlah baris dalam output kueri.Flag khusus perintah
query--maximum_bytes_billedditetapkan ke 10.000.000 byte (10 MB) untuk menggagalkan kueri yang membaca lebih dari 10 MB data.Flag khusus perintah
load--destination_kms_keyditetapkan keprojects/myproject/locations/mylocation/keyRings/myRing/cryptoKeys/myKey.
Bantuan CLI
Anda bisa mendapatkan bantuan terkait alat command line bq dengan menjalankan perintah berikut:
| Deskripsi | Format perintah bantuan | Contoh |
|---|---|---|
| Versi terinstal | bq version |
bq version |
| Daftar semua perintah dengan contoh | bq help |
bq help |
| Deskripsi flag global | bq --help |
bq --help |
| Deskripsi perintah tertentu | bq help COMMAND |
bq help mk |
Memecahkan masalah perintah CLI
- Untuk mencatat permintaan yang dikirim dan diterima:
Tambahkan tanda
--apilog=PATH_TO_FILEuntuk menyimpan log operasi ke file lokal. GantiPATH_TO_FILEdengan lokasi tempat Anda ingin menyimpan log. Alat command line bq berfungsi dengan melakukan panggilan API berbasis REST standar, yang dapat berguna untuk dilihat saat memecahkan masalah. Anda juga dapat melampirkan log ini saat melaporkan masalah kepada Cloud Customer Care.Menggunakan
-ataustdout, alih-alih jalur, akan mencetak log ke konsol Google Cloud . Menyetel--apilogkestderrakan menghasilkan file error standar. Untuk mencatat permintaan lainnya, gunakan tanda--httplib2_debuglevel=LOG_LEVEL.LOG_LEVELyang lebih tinggi mencatat informasi selengkapnya tentang permintaan HTTP.- Untuk memecahkan masalah error:
Masukkan tanda
--format=prettyjsonsaat Anda mendapatkan status tugas atau saat Anda melihat informasi mendetail tentang resource seperti tabel dan set data. Penggunaan flag ini menghasilkan respons dalam format JSON, termasuk propertireason. Anda dapat menggunakan propertireasonuntuk menemukan pesan error.Untuk mengetahui informasi selengkapnya tentang error saat Anda menjalankan perintah, gunakan flag
--debug_mode.
Flag global
Anda dapat menggunakan flag berikut dengan perintah bq, jika berlaku:
--api=ENDPOINT- Menentukan endpoint API yang akan dipanggil. Nilai defaultnya adalah
https://www.googleapis.com. --api_version=VERSION- Menentukan versi API yang akan digunakan. Defaultnya adalah
v2. --apilog=FILEMencatat semua permintaan dan respons API ke file yang ditentukan oleh
FILE. Nilai yang memungkinkan adalah sebagai berikut:- jalur ke file - mencatat ke file yang ditentukan
stdout- mencatat ke output standarstderr- mencatat ke error standarfalse- Permintaan dan respons API tidak dicatat (default)
--use_google_auth={true|false}Jika ditetapkan ke
true, autentikasi menggunakan library Google Auth akan diaktifkan. Nilai defaultnya adalahtrue.--bigqueryrc=PATHMenentukan jalur ke file konfigurasi alat command line bq. Jika Anda tidak menentukan flag
--bigqueryrc, perintah akan menggunakan variabel lingkunganBIGQUERYRC. Jika variabel lingkungan tidak ditetapkan,$HOME/.bigqueryrcakan digunakan. Jika file tersebut tidak ada,~/.bigqueryrcakan digunakan. Untuk informasi selengkapnya, lihat Menetapkan nilai default untuk flag command line.--ca_certificates_file=PATHMenentukan lokasi Certificate Authority Service (CA) Anda.
--dataset_id=DATASET_IDMenentukan set data default yang akan digunakan dengan perintah. Flag ini diabaikan jika tidak berlaku. Anda dapat menentukan argumen
DATASET_IDmenggunakan formatPROJECT:DATASETatauDATASET. Jika bagianPROJECTtidak ada, project default akan digunakan. Anda dapat mengganti setelan project default dengan menentukan flag--project_id.--debug_mode={true|false}Jika ditetapkan ke
true, akan menampilkan traceback pada pengecualian Python. Nilai defaultnya adalahfalse.--disable_ssl_validation={true|false}Jika ditetapkan ke
true, validasi sertifikat HTTPS akan diaktifkan. Nilai defaultnya adalahfalse.--discovery_file=PATHMenentukan file JSON yang akan dibaca untuk penemuan.
--enable_gdrive={true|false}Jika ditetapkan ke
false, meminta token OAuth baru tanpa cakupan Google Drive. Nilai defaultnya adalahtrue; meminta token OAuth baru dengan cakupan Drive. Untuk menyetel flag ini kefalsesaat diautentikasi menggunakan akun pengguna, flag--use_google_authharus disetel kefalse.--fingerprint_job_id={true|false}Untuk menggunakan ID tugas yang berasal dari sidik jari konfigurasi tugas, tetapkan ke
true. Hal ini mencegah tugas yang sama berjalan beberapa kali secara tidak sengaja. Nilai defaultnya adalahfalse.--format=FORMATMenentukan format output perintah. Gunakan salah satu nilai berikut:
pretty: output tabel berformatsparse: output tabel lebih sederhanaprettyjson: format JSON yang mudah dibacajson: JSON yang sangat rapatcsv: format csv dengan header
pretty,sparse, danprettyjsondtiujukan agar dapat dibaca manusia.jsondancsvditujukan untuk digunakan oleh program lain. Jikanonedipilih, perintah tidak akan menghasilkan output. Jika flag--formattidak ada, format output yang sesuai akan dipilih berdasarkan perintah tersebut.--headless={true|false}Untuk menjalankan sesi
bqtanpa interaksi pengguna, tetapkan ketrue. Misalnya,debug_modetidak menembus debugger, dan frekuensi pencetakan informasi akan diturunkan. Nilai defaultnya adalahfalse.--httplib2_debuglevel=DEBUG_LEVELMenentukan apakah informasi proses debug HTTP akan ditampilkan atau tidak. Jika
DEBUG_LEVELlebih besar dari0, selain pesan error, perintah tersebut akan mencatat permintaan dan respons server HTTP ke stderr. JikaDEBUG_LEVELtidak > 0, atau jika flag--httplib2_debugleveltidak digunakan, hanya pesan error yang akan diberikan.Contoh:
--httplib2_debuglevel=1
--job_id=JOB_IDMenentukan ID tugas untuk tugas baru. Flag ini hanya berlaku untuk perintah yang membuat tugas:
cp,extract,load, danquery. Jika Anda tidak menggunakan flag--job_id, perintah akan menghasilkan ID tugas yang unik. Untuk informasi selengkapnya, lihat Menjalankan tugas secara terprogram.--job_property=KEY:VALUEKey-value pair yang akan disertakan di kolom properti dari konfigurasi tugas. Ulangi flag ini untuk menentukan properti tambahan.
--location=LOCATIONString yang sesuai dengan lokasi region atau multi-region. Flag lokasi diperlukan untuk perintah
bq canceldan perintahbq showketika Anda menggunakan--jobsuntuk menampilkan informasi tentang tugas. Flag lokasi sifatnya opsional untuk perintah berikut:querycploadextractpartitionupdatewaitmksaat Anda menggunakan flag--dataset,--reservation,--capacity_commitment, atau--reservation_assignmentlssaat Anda menggunakan flag--reservation,--capacity_commitment, atau--reservation_assignment
Semua perintah lain mengabaikan flag
--location.--max_rows_per_request=MAX_ROWSBilangan bulat yang menentukan jumlah maksimum baris yang ditampilkan per pembacaan.
--project_id=PROJECTMenentukan project yang akan digunakan untuk perintah.
--proxy_address=PROXYMenentukan nama atau alamat IP host proxy yang akan digunakan untuk terhubung ke Google Cloud.
--proxy_password=PASSWORDMenentukan kata sandi yang akan digunakan saat mengautentikasi dengan host proxy.
--proxy_port=PORTMenentukan nomor port yang akan digunakan untuk terhubung ke host proxy.
--proxy_username=USERNAMEMenentukan nama pengguna yang akan digunakan saat melakukan autentikasi dengan host proxy.
--quiet={true|false}atau-q={true|false}Untuk menyembunyikan update status saat tugas sedang berjalan, tetapkan ke
true. Nilai defaultnya adalahfalse.--synchronous_mode={true|false}atau-sync={true|false}Untuk membuat tugas dan segera menghasilkan, dengan status penyelesaian berhasil sebagai kode error, tetapkan ke
false. Jika ditetapkan ketrue, perintah akan menunggu hingga tugas selesai sebelum memberi hasil , dan menampilkan status penyelesaian tugas sebagai kode error. Nilai defaultnya adalahtrue.--trace=token:TOKENMenentukan token rekaman aktivitas yang akan disertakan dalam permintaan API.
--use_regional_endpoints={true|false}Di pratinjau. Untuk terhubung ke endpoint regional, tetapkan flag
--use_regional_endpointsketruedan flag--locationke region yang ingin Anda hubungkan. Nilai defaultnya adalahfalse.
Flag global yang tidak digunakan lagi
Flag global berikut, yang digunakan untuk menentukan flag alat command line bq dari file
tidak digunakan lagi. Untuk menentukan flag dari file, gunakan flag --bigqueryrc.
--flagfile=PATH
Jika ditentukan, definisi flag dari file yang disediakan akan disisipkan
ke dalam
alat command line bq. Nilai defaultnya adalah ''. Untuk informasi selengkapnya, lihat
Menetapkan nilai default untuk flag command line.
Perintah
Bagian berikut menjelaskan perintah alat command line bq, beserta flag dan argumen khusus perintahnya.
bq add-iam-policy-binding
Gunakan perintah bq add-iam-policy-binding untuk mengambil kebijakan Identity and Access Management (IAM) untuk tabel atau tampilan dan menambahkan binding ke kebijakan tersebut, dalam satu langkah.
Perintah ini adalah alternatif untuk proses tiga langkah berikut:
- Menggunakan perintah
bq get-iam-policyuntuk mengambil file kebijakan (dalam format JSON). - Mengedit file kebijakan.
- Menggunakan perintah
bq set-iam-policyuntuk memperbarui kebijakan dengan binding baru.
Synopsis
bq add-iam-policy-binding [FLAGS] --member=MEMBER_TYPE:MEMBER --role=ROLE [--table] RESOURCE
Contoh
bq add-iam-policy-binding --member=user:myAccount@gmail.com \ --role=roles/bigquery.dataViewer myDataset.myTable
Flag dan argumen
Perintah bq add-iam-policy-binding menggunakan flag dan
argumen berikut:
--member=MEMBER_TYPE:MEMBERWajib. Gunakan flag
--memberuntuk menentukan bagian anggota dari binding kebijakan IAM. Flag--memberdiperlukan bersama dengan flag--role. Satu kombinasi flag--memberdan--rolesama dengan satu binding.Nilai
MEMBER_TYPEmenentukan jenis anggota dalam binding kebijakan IAM. Gunakan salah satu nilai berikut:userserviceAccountgroupdomain
Nilai
MEMBERmenentukan alamat email atau domain anggota dalam binding kebijakan IAM.--role=ROLEWajib. Menentukan bagian peran dari binding kebijakan IAM. Flag
--rolediperlukan bersama dengan flag--member. Satu kombinasi flag--memberdan--rolesama dengan satu binding.--table={true|false}Untuk menampilkan error jika argumen
RESOURCEbukan tabel atau ID tampilan, tetapkan flag--tableketrue. Nilai defaultnya adalahfalse. Flag ini didukung agar konsisten dengan perintah lainnya.RESOURCETabel atau tampilan kebijakan yang ingin Anda tambahkan.
Untuk informasi selengkapnya, baca referensi kebijakan IAM.
bq cancel
Gunakan perintah bq cancel untuk membatalkan tugas BigQuery.
Synopsis
bq [--synchronous_mode=false] cancel JOB_ID
Contoh
bq cancel bqjob_12345
bq --synchronous_mode=false cancel bqjob_12345
Flag dan argumen
Perintah bq cancel menggunakan flag dan argumen berikut:
--synchronous_mode=false- Jika Anda tidak ingin menunggu perintah
bq cancelselesai ,tetapkan flag global--synchronous_modekefalse. Defaultnya adalahtrue. JOB_ID- Tugas yang ingin Anda batalkan.
Untuk informasi selengkapnya tentang penggunaan perintah bq cancel, lihat
Mengelola tugas.
bq cp
Gunakan perintah bq cp untuk tugas berikut:
- Membuat salinan tabel, clone tabel, atau snapshot tabel.
- Membuat clone tabel.
- Membuat snapshot tabel.
Synopsis
bq cp [FLAGS] SOURCE_TABLE DESTINATION_TABLE
Contoh
bq cp myDataset.myTable myDataset.myTableCopy
Flag dan argumen
Perintah bq cp menggunakan flag dan argumen berikut:
--append_table={true|false}atau-a={true|false}Untuk menambahkan tabel ke tabel yang sudah ada, tetapkan ke
trueNilai defaultnya adalahfalse.Anda tidak dapat menggunakan setelan flag
--append_table=truedan--clone=truesecara bersamaan.--clone={true|false}Untuk membuat clone tabel, tetapkan ke
true. Tabel dasar dapat berupa tabel standar, clone tabel, atau snapshot tabel. Tabel tujuannya adalah clone tabel. Nilai default-nya adalahfalse; jika--clone=trueatau--snapshot=truetidak ditentukan, tabel tujuan akan sama dengan jenis tabel yang sama dengan tabel dasar. Memerlukan flag--no_clobber.Anda tidak dapat menggunakan setelan flag
--append_table=truedan--clone=truesecara bersamaan.--destination_kms_key=KEYMenentukan ID resource kunci Cloud KMS untuk mengenkripsi data tabel tujuan.
Contoh:
--destination_kms_key=projects/myProject/locations/global/keyRings/myKeyRing/cryptoKeys/myKey
--expiration=SECONDSJumlah detik hingga snapshot tabel berakhir masa berlakunya. Jika tidak disertakan, masa berlaku snapshot tabel akan ditetapkan ke masa berlaku default set data yang berisi snapshot tabel baru. Gunakan dengan flag
--snapshot.--force={true|false}atau-f={true|false}Untuk menimpa tabel tujuan, jika ada, tanpa perlu konfirmasi, tetapkan ke
true. Nilai defaultnya adalahfalse; jika tabel tujuan ada, maka perintah itu meminta konfirmasi sebelum menimpanya.--no_clobber={true|false}atau-n={true|false}Untuk melarang penimpaan tabel tujuan, jika tabelnya ada, tetapkan ke
true. Nilai defaultnya adalahfalse; jika tabel tujuan ada, maka tabel itu akan ditimpa.--restore={true|false}Flag ini tidak digunakan lagi. Untuk membuat tabel yang dapat ditulisi dari snapshot tabel, gunakan perintah
bq cpatau perintahbq cp --clone.--snapshot={true|false}Untuk membuat snapshot tabel dari tabel yang ditentukan dalam argumen
SOURCE_TABLE, tetapkan ketrue. Tabel dasar dapat berupa tabel standar, clone tabel, atau snapshot tabel lainnya. Nilai default-nya adalahfalse; jika--clone=trueatau--snapshot=truetidak ditentukan, tabel tujuan akan sama dengan jenis tabel yang sama dengan tabel dasar. Memerlukan flag--no_clobber.SOURCE_TABLETabel yang ingin disalin.
DESTINATION_TABLETabel yang ingin Anda timpa dengan salinan.
Untuk informasi selengkapnya tentang penggunaan perintah cp, lihat referensi berikut:
bq extract
Gunakan perintah bq extract untuk mengekspor data tabel ke Cloud Storage.
Synopsis
bq extract [FLAGS] RESOURCE DESTINATION
Contoh
bq extract --compression=GZIP --destination_format=CSV --field_delimiter=tab \ --print_header=false myDataset.myTable gs://my-bucket/myFile.csv.gzip
bq extract --destination_format=CSV --field_delimiter='|' myDataset.myTable \ gs://myBucket/myFile.csv
Flag dan argumen
Perintah bq extract menggunakan flag dan argumen berikut:
--compression=COMPRESSION_TYPEMenentukan jenis kompresi yang akan digunakan untuk file yang diekspor. Nilai yang mungkin adalah sebagai berikut:
GZIPDEFLATESNAPPYNONE
Nilai defaultnya adalah
NONE.Untuk mengetahui informasi tentang format yang didukung untuk setiap jenis kompresi, lihat Mengekspor format dan jenis kompresi.
--destination_format=FORMATMenentukan format untuk data yang diekspor. Nilai yang mungkin adalah sebagai berikut:
CSVNEWLINE_DELIMITED_JSONAVROPARQUET
Nilai defaultnya adalah
CSV.--field_delimiter=DELIMITERUntuk ekspor CSV, tentukan karakter yang menandai batas antarkolom dalam file output. Pembatas dapat berupa karakter byte tunggal ISO-8859-1. Anda dapat menggunakan
\tatautabuntuk menentukan pemisah tab.--print_header={true|false}Untuk menyembunyikan baris header pencetakan untuk format yang memiliki header, tetapkan ke
false. Nilai default-nya adalahtrue; baris header disertakan.RESOURCETabel asal ekspor data.
DESTINATIONLokasi penyimpanan yang menerima data yang diekspor.
Untuk informasi selengkapnya tentang penggunaan perintah bq extract, lihat
Mengekspor data tabel.
bq get-iam-policy
Gunakan perintah bq get-iam-policy untuk mengambil kebijakan IAM untuk resource dan mencetaknya ke stdout. Aset dapat berupa tabel, tampilan, atau
pemesanan slot.
Kebijakan ini menggunakan format JSON.
Synopsis
bq get-iam-policy [FLAGS] RESOURCE
Contoh
bq get-iam-policy myDataset.myTable
bq get-iam-policy --reservation myReservation
Flag dan argumen
Perintah bq get-iam-policy menggunakan flag dan argumen berikut:
--table={true|false}atau--t={true|false}- Untuk menampilkan error jika
RESOURCEbukan tabel atau ID tampilan, tetapkan flag--tableketrue. Nilai defaultnya adalahfalse. Flag ini didukung agar konsisten dengan perintah lainnya. --reservation={true|false}- Untuk mendapatkan kebijakan IAM reservasi, tetapkan ke
true(Pratinjau). Nilai defaultnya adalahfalse. Jika tanda ini digunakan,RESOURCEdiperlakukan sebagai ID reservasi. Reservasi dapat memiliki awalan project dan lokasi opsional:myProject:myLocation.myReservation. RESOURCE- Tabel atau tampilan yang kebijakannya ingin Anda dapatkan.
Untuk informasi selengkapnya tentang perintah bq get-iam-policy, lihat
Mengontrol akses ke aset dengan IAM.
bq head
Gunakan perintah bq head untuk menampilkan baris dan kolom tabel yang ditentukan.
Secara default, semua kolom dari 100 baris pertama akan ditampilkan.
Synopsis
bq head [FLAGS] [TABLE]
Contoh
bq head --max_rows=10 --start_row=50 --selected_fields=field1,field3 \ myDataset.myTable
Flag dan argumen
Perintah bq head menggunakan flag dan argumen berikut:
--job=JOB or -j=JOB- Untuk membaca hasil tugas kueri, tentukan flag ini dengan ID tugas yang valid.
--max_rows=MAX or -n=MAX- Bilangan bulat yang menunjukkan jumlah maksimum baris yang akan dicetak saat
menampilkan data tabel. Nilai defaultnya adalah
100. --selected_fields=COLUMN_NAMES or -c=COLUMN_NAMES- Daftar yang dipisahkan koma yang menentukan subset kolom (termasuk kolom bertingkat dan berulang) yang akan ditampilkan saat menampilkan data tabel. Jika flag ini tidak ditentukan, semua kolom akan ditampilkan.
--start_row=START_ROW or -s=START_ROW- Bilangan bulat yang menentukan jumlah baris yang harus dilewati
sebelum menampilkan data tabel. Nilai defaultnya adalah
0; data tabel dimulai di baris pertama. --table={true|false}atau-t={true|false}- Untuk menampilkan error jika argumen perintah bukan berupa
tabel atau tampilan, tetapkan ke
true. Nilai defaultnya adalahfalse. Flag ini didukung agar konsisten dengan perintah lainnya. TABLE- Tabel yang datanya ingin Anda ambil.
Untuk informasi selengkapnya tentang penggunaan perintah bq head, lihat
Mengelola data tabel.
bq help
Gunakan perintah bq help untuk menampilkan dokumentasi alat command line bq dalam alat tersebut.
Synopsis
bq help [COMMAND]
Flag dan argumen
Perintah bq help menggunakan flag dan argumen berikut:
COMMAND- Menentukan perintah alat command line bq tertentu yang ingin Anda dapatkan bantuan onlinenya.
bq insert
Gunakan perintah bq insert untuk menyisipkan baris data berformat JSON yang dibatasi baris baru ke dalam tabel dari file menggunakan streaming insert. Jenis data dikonversi agar sesuai dengan jenis kolom tabel tujuan. Perintah ini hanya dimaksudkan untuk tujuan pengujian. Untuk melakukan streaming data ke BigQuery, gunakan metode API insertAll.
Synopsis
bq insert [FLAGS] TABLE FILE
Contoh
bq insert --ignore_unknown_values --template_suffix=_insert myDataset.myTable /tmp/myData.json
echo '{"a":1, "b":2}' | bq insert myDataset.myTable
Flag dan argumen
Perintah bq insert menggunakan flag dan argumen berikut:
--ignore_unknown_values={true|false}atau-i={true|false}- Jika ditetapkan ke
true, BigQuery akan mengabaikan semua key-value pair yang tidak cocok dengan skema tabel, dan akan menyisipkan baris dengan data yang cocok dengan skema. Jika ditetapkan kefalse, baris dengan data yang tidak cocok dengan skema tabel tidak akan disisipkan. Defaultnya adalahfalse. --skip_invalid_rows={true|false}atau-s={true|false}- Jika ditetapkan ke
true, BigQuery akan mencoba menyisipkan baris yang valid, meskipun ada baris yang tidak valid. Jika ditetapkan kefalse, perintah akan gagal jika ada baris yang tidak valid. Defaultnya adalahfalse. --template_suffix=SUFFIX or -x=SUFFIX- Jika ditentukan, perlakukan TABLE tabel tujuan sebagai
template dasar, lalu sisipkan baris ke dalam tabel instance bernama
{destination}{templateSuffix}. BigQuery membuat tabel instance menggunakan skema template dasar. TABLE- Tabel tempat Anda ingin memasukkan data.
FILE- File yang berisi data yang ingin Anda sisipkan.
Untuk mengetahui informasi selengkapnya tentang penggunaan perintah bq insert, lihat
Streaming data ke BigQuery.
bq load
Gunakan perintah bq load untuk memuat data ke dalam tabel.
Synopsis
bq load [FLAGS] DESTINATION_TABLE SOURCE_DATA [SCHEMA]
Contoh
bq load myDataset.newTable gs://mybucket/info.csv ./info_schema.json
Flag dan argumen
Perintah bq load menggunakan flag dan argumen berikut:
--allow_jagged_rows={true|false}- Untuk mengizinkan kolom opsional di akhir yang tidak ada dalam data CSV, tetapkan ke
true. --preserve_ascii_control_characters={true|false}- Untuk mengizinkan karakter kontrol ASCII yang disematkan dalam data CSV, tetapkan ke
true. --allow_quoted_newlines={true|false}- Untuk mengizinkan baris baru yang dikutip dalam data CSV, tetapkan ke
true --autodetect={true|false}- Untuk mengaktifkan deteksi otomatis skema untuk data CSV dan JSON, tetapkan ke
true. Defaultnya adalahfalse. Jika--autodetectadalahfalse, dan tidak ada skema yang ditentukan menggunakan flag--schema, dan tabel tujuan ada, skema tabel tujuan akan digunakan. --clustering_fields=COLUMNS- Daftar yang dipisahkan koma berisi empat nama kolom yang menentukan kolom yang akan digunakan untuk pengelompokan tabel.
--column_name_character_map=SCOPE- Menentukan cakupan dan penanganan
karakter dalam nama kolom, dengan opsi untuk mengaktifkan
nama kolom fleksibel.
Memerlukan opsi
--autodetectuntuk file CSV. Untuk mengetahui daftar kemungkinan nilai, lihatload_option_list. --destination_kms_key=KEY- Menentukan ID resource kunci Cloud KMS untuk mengenkripsi data tabel tujuan.
--encoding=ENCODING_TYPE or -E=ENCODING_TYPE- Encoding karakter yang digunakan dalam data. Gunakan salah satu nilai berikut:
ISO-8859-1(juga dikenal sebagai Latin-1)UTF-8
--field_delimiter=DELIMITER or -F=DELIMITER- Menentukan karakter yang menandai batas antarkolom dalam data.
Pembatas dapat berupa karakter byte tunggal ISO-8859-1. Anda dapat menggunakan
\tatautabuntuk menentukan pemisah tab. --ignore_unknown_values={true|false}- Jika ditetapkan ke
trueuntuk file CSV dan JSON, baris dengan nilai kolom tambahan yang tidak cocok dengan skema tabel akan dimuat, tetapi kolom tambahan akan diabaikan. Jika disetel ketrueuntuk file Avro, Parquet, dan ORC, kolom dalam skema file yang tidak ada dalam skema tabel akan diabaikan dan tidak dimuat. --json_extension=JSON_TYPEMenentukan jenis file JSON yang akan dimuat. Hanya berlaku untuk file JSON. Kemungkinan nilainya adalah sebagai berikut:
GEOJSON- file GeoJSON yang dibatasi newline
Untuk menggunakan flag ini, flag
--source_formatharus ditetapkan keNEWLINE_DELIMITED_JSON.Untuk informasi selengkapnya, lihat Memuat file GeoJSON yang dibatasi baris baru.
--max_bad_records=MAXBilangan bulat yang menentukan jumlah maksimum data buruk yang diizinkan sebelum seluruh tugas gagal. Nilai defaultnya adalah
0. Maksimal, lima error dari segala jenis akan ditampilkan, terlepas dari nilai--max_bad_records. Flag ini hanya berlaku untuk pemuatan data CSV, JSON, dan Google Spreadsheet.--null_marker=STRINGString kustom opsional yang mewakili nilai
NULLdalam data CSV.--projection_fields=PROPERTY_NAMESJika Anda menetapkan
--source_formatkeDATASTORE_BACKUP, flag ini akan menunjukkan properti entity mana yang akan dimuat dari ekspor Datastore. Tentukan nama properti dalam daftar yang dipisahkan koma. Nama properti peka huruf besar/kecil dan harus merujuk ke properti tingkat atas. Anda juga dapat menggunakan flag ini dengan ekspor Firestore.--quote=CHARACTERMenentukan karakter kutipan untuk mengapit kolom dalam data CSV. Argumen
CHARACTERdapat berupa karakter satu byte. Nilai defaultnya adalah flag kutip ganda ("). Untuk menentukan bahwa tidak ada karakter kutip, gunakan string kosong"".--replace={true|false}Untuk menghapus data dan skema yang sudah ada saat data baru dimuat, tetapkan ke
true. Semua kunci Cloud KMS juga akan dihapus, kecuali jika Anda menentukan flag--destination_kms_key. Nilai defaultnya adalahfalse.Setara dengan nilai
WRITE_TRUNCATEuntukJobConfigurationLoad.writeDisposition.--schema={SCHEMA_FILE|SCHEMA}Menentukan jalur ke file skema JSON lokal atau daftar definisi kolom yang dipisahkan koma dalam bentuk
FIELD:DATA_TYPE, FIELD:DATA_TYPE. Jika Anda menggunakan file skema, jangan tambahkan ekstensi ke nama file.Contoh:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
Jika tidak ada skema yang ditentukan, dan
--autodetectadalahfalse, ada tabel tujuan, skema tabel tujuan akan digunakan.--schema_update_option=OPTIONSaat menambahkan data ke tabel (dalam tugas pemuatan atau tugas kueri), atau saat menimpa partisi tabel, menentukan cara mengupdate skema tabel tujuan. Gunakan salah satu nilai berikut:
ALLOW_FIELD_ADDITION: Mengizinkan kolom baru untuk ditambahkanALLOW_FIELD_RELAXATION: Mengizinkan kolomREQUIREDyang melonggarkan untukNULLABLE
Ulangi flag ini untuk menentukan beberapa opsi update skema.
--skip_leading_rows=NUMBER_OF_ROWSBilangan bulat yang menentukan jumlah baris yang akan dilewati di awal file sumber. Nilai defaultnya adalah
0.--file_set_spec_type=FILE_SET_SPEC_TYPEMenentukan cara menafsirkan URI sumber.
FILE_SYSTEM_MATCH: Memperluas URI sumber dengan mencantumkan file dari penyimpanan objek. Ini adalah perilaku default jika FileSetSpecType tidak ditetapkan.NEW_LINE_DELIMITED_MANIFEST: Menunjukkan bahwa URI yang disediakan adalah file manifes yang dibatasi newline, dengan satu URI per baris. URI karakter pengganti tidak didukung dalam file manifes, dan semua file data yang dirujuk harus berada di bucket yang sama dengan manifes.
Misalnya, jika Anda memiliki URI sumber
"gs://bucket/path/file"danfile_set_spec_typeadalahFILE_SYSTEM_MATCH, maka file tersebut akan langsung digunakan sebagai file data. Jikafile_set_spec_typeadalahNEW_LINE_DELIMITED_MANIFEST, setiap baris dalam file akan ditafsirkan sebagai URI yang mengarah ke file data.--source_format=FORMATFormat data sumber. Gunakan salah satu nilai berikut:
CSVNEWLINE_DELIMITED_JSONAVRODATASTORE_BACKUP(gunakan nilai ini untuk Filestore)PARQUETORC
--time_partitioning_expiration=SECONDSBilangan bulat yang menentukan (dalam detik) kapan partisi berbasis waktu harus dihapus. Waktu habis masa berlaku dievaluasi terhadap tanggal UTC partisi ditambah nilai bilangan bulat. Angka negatif menunjukkan tidak ada masa berlaku.
--time_partitioning_field=COLUMN_NAMEMenentukan kolom yang menentukan cara membuat partisi berbasis waktu. Jika partisi berbasis waktu diaktifkan tanpa nilai ini, tabel akan dipartisi berdasarkan waktu pemuatan.
--time_partitioning_type=INTERVALMengaktifkan partisi berbasis waktu pada tabel dan menetapkan jenis partisi. Gunakan salah satu nilai berikut:
DAYHOURMONTHYEAR
Jenis partisi default untuk partisi berbasis waktu adalah
DAY.--use_avro_logical_types={true|false}Jika flag
--source_formatdisetel keAVRO, setel flag ini ketrueuntuk mengonversi jenis logika ke jenis yang sesuai (sepertiTIMESTAMP), bukan hanya menggunakan jenis mentahnya (sepertiINTEGER).--decimal_target_types=DECIMAL_TYPEMenentukan cara mengonversi jenis logika
Decimal. Setara denganJobConfigurationLoad.decimalTargetTypes. Ulangi flag ini untuk menentukan beberapa jenis target.--parquet_enum_as_string={true|false}Jika flag
--source_formatditetapkan kePARQUET, dan Anda ingin BigQuery menyimpulkan jenis logikaENUMParquet sebagai nilaiSTRING, tetapkan flag ini ketrueini. Defaultnya adalahfalse.--parquet_enable_list_inference={true|false}Jika flag
--source_formatdisetel kePARQUET, flag ini menandai perlu atau tidaknya penggunaan inferensi skema untuk jenis logikaLISTParquet.--reference_file_schema_uri=URIMenentukan jalur ke file referensi dengan skema tabel yang diharapkan untuk membuat tabel eksternal. Setara dengan
ExternalDataConfiguration.referenceFileSchemaUri. Flag ini diaktifkan untuk format Avro, ORC, dan PARQUET.DESTINATION_TABLETabel tempat Anda ingin memuat data.
SOURCE_DATAURI Cloud Storage file yang berisi data yang ingin Anda muat.
SCHEMASkema untuk tabel tujuan.
Untuk informasi selengkapnya tentang pemuatan data dari Cloud Storage menggunakan perintah bq load, lihat referensi berikut:
- Memuat data Avro
- Memuat data CSV
- Memuat data JSON
- Memuat data ORC
- Memuat data Parquet
- Memuat data dari ekspor Datastore
- Memuat data dari ekspor Firestore
Untuk informasi selengkapnya tentang pemuatan data dari sumber lokal menggunakan perintah bq load, lihat hal berikut:
bq ls
Gunakan perintah bq ls untuk mencantumkan objek dalam koleksi.
Synopsis
bq ls [FLAGS] [RESOURCE]
Contoh
bq ls myDataset
Flag dan argumen
Perintah bq ls menggunakan flag dan argumen berikut:
--all={true|false}atau-a={true|false}- Untuk menampilkan semua hasil, tetapkan ke
true. Menampilkan tugas dari semua pengguna atau semua set data, termasuk yang tersembunyi. Flag ini tidak diperlukan saat mencantumkan konfigurasi transfer atau operasi transfer yang sedang berjalan. Nilai defaultnya adalahfalse. --capacity_commitment={true|false}Untuk mencantumkan komitmen kapasitas, tetapkan ke
truedan gunakan flag--locationuntuk menentukan lokasi. Untuk informasi selengkapnya, lihat Melihat komitmen yang dibeli.Contoh:
bq ls --capacity_commitment=true --location='us'--datasets={true|false}atau-d={true|false}Untuk mencantumkan set data, tetapkan ke
true. Nilai defaultnya adalahfalse.--filter="FILTER"Filter resource yang tercantum agar cocok dengan argumen
FILTER.Untuk set data,
FILTERterdiri dari satu atau beberapa triple yang dipisahkan spasi dalam formatlabels.KEY:VALUE. Jika terdapat lebih dari satu triple, maka perintah hanya akan menampilkan set data yang sesuai dengan semua triple (misalnya, perintah menggunakan operator logikaAND, bukanOR). Jika ingin menentukan lebih dari satu triple, apitFILTERnilai dengan tanda kutip.Untuk memfilter berdasarkan label set data, gunakan kunci dan nilai yang Anda terapkan ke set data.
Contoh:
--filter "labels.department:marketing labels.team:sales"
Untuk konfigurasi transfer, gunakan
dataSourceIdssebagai kunci, dan salah satu sumber data berikut sebagai nilai:
amazon_s3- Transfer data Amazon S3azure_blob_storage- Transfer data Azure Blob Storagedcm_dt- Transfer data Campaign Managergoogle_cloud_storage- Transfer data Cloud Storagecross_region_copy- Salinan Set Datadfp_dt- Transfer Data Google Ad Managerdisplayvideo- Transfer data Display & Video 360google_ads- Transfer data Google Adsmerchant_center- Transfer data Google Merchant Centermysql- Transfer data MySQLplay- Transfer data Google Playscheduled_query- Transfer data kueri terjadwalsearch_ads- Transfer data Search Ads 360youtube_channel- Transfer data Channel YouTubeyoutube_content_owner- Transfer data Pemilik Konten YouTuberedshift- Migrasi Amazon Redshifton_premises- Migrasi Teradata
Contoh:
--filter labels.dataSourceIds:dcm_dt
Untuk operasi transfer, gunakan states sebagai kunci dan satu atau beberapa status transfer berikut sebagai nilai:
SUCCEEDEDFAILEDPENDINGRUNNINGCANCELLED
Contoh:
--filter="states:FAILED"
Untuk tugas, gunakan states sebagai kunci dan satu atau beberapa status tugas berikut sebagai
nilai:
RUNNINGPENDINGDONE
Contoh:
bq ls --jobs --filter="states:RUNNING" bq ls --jobs --filter="states:RUNNING,PENDING"
--jobs={true|false}atau-j={true|false}- Untuk mencantumkan tugas, tetapkan ke
true. Nilai defaultnya adalahfalse. Secara default, Anda dibatasi hingga 100.000 hasil. --max_creation_time=MAX_CREATION_TIME_MS- Bilangan bulat yang mewakili
stempel waktu epoch Unix dalam milidetik.
Jika ditentukan dengan flag
--jobs, flag ini hanya akan mencantumkan tugas yang dibuat sebelum stempel waktu. --max_results=MAX_RESULTS or -n=MAX_RESULTS- Bilangan bulat yang menunjukkan jumlah hasil maksimum. Nilai defaultnya adalah 50
dan nilai maksimumnya adalah 1.000. Jika ada lebih dari 1.000 tugas, Anda dapat menggunakan flag
page_tokenuntuk mencantumkan semua tugas menggunakan penomoran halaman. - --
min_creation_time=MIN_CREATION_TIME_MS - Bilangan bulat yang mewakili
stempel waktu epoch Unix
dalam milidetik. Jika ditentukan dengan flag
--jobs, flag ini hanya mencantumkan tugas yang dibuat setelah stempel waktu. --message_type=messageTypes:MESSAGE_TYPEUntuk mencantumkan hanya pesan log operasi transfer jenis tertentu, tetapkan
messageTypes:MESSAGE_TYPE. Nilai yang mungkin adalah sebagai berikut:INFOWARNINGERROR
--models={true|false}atau-m={true|false}Untuk mencantumkan model BigQuery ML, tetapkan ke
true. Nilai defaultnya adalahfalse.--page_token=TOKENatau-k=TOKENMenampilkan daftar item, mulai dari token halaman yang ditentukan.
--projects={true|false}atau-p={true|false}Untuk menampilkan semua project, tetapkan ke
true. Nilai defaultnya adalahfalse.--reservation={true|false}Untuk mencantumkan semua pemesanan dari project dan lokasi tertentu, tetapkan ke
true. Nilai defaultnya adalahfalse. Gunakan dengan flag--project_iddan--location.Contoh:
bq ls --reservation=true --project_id=myProject --location=us
--reservation_assignment={true|false}Untuk mencantumkan semua penetapan pemesanan dari project dan lokasi tertentu, tetapkan ke
true. Nilai defaultnya adalahfalse. Gunakan dengan flag--project_iddan--location.--routines={true|false}Untuk mencantumkan semua rutinitas dalam set data yang ditentukan, tetapkan ke
true. Nilai defaultnya adalahfalse. Rutinitas mencakup fungsi yang ditentukan pengguna persisten (persistent UDF), fungsi tabel (Pratinjau), dan prosedur yang tersimpan.--row_access_policiesJika ditentukan, akan mencantumkan semua kebijakan akses tingkat baris pada tabel. Kebijakan akses tingkat baris digunakan untuk keamanan tingkat baris. Anda harus memberikan nama tabel dalam format
dataset.table.--run_attempt=RUN_ATTEMPTGunakan dengan flag
--transfer_run. Untuk menampilkan daftar semua upaya operasi untuk operasi transfer khusus, tetapkan keRUN_ATTEMPT_UNSPECIFIED. Untuk mencantumkan hanya upaya operasi terakhir saja, tetapkan keLATEST. Defaultnya adalahLATEST.--transfer_config={true|false}Untuk mencantumkan konfigurasi transfer dalam project dan lokasi yang ditentukan, tetapkan ke
true. Gunakan dengan flag--transfer_locationdan--project_id. Nilai defaultnya adalahfalse.--transfer_location=LOCATIONMencantumkan konfigurasi transfer di lokasi yang ditentukan. Anda dapat menetapkan lokasi transfer saat transfer dibuat.
--transfer_log={true|false}Gunakan dengan flag
--transfer_run. Untuk mencantumkan pesan log transfer dari proses transfer yang ditentukan, tetapkan ketrue. Nilai defaultnya adalahfalse.--transfer_run={true|false}Mencantumkan operasi transfer untuk konfigurasi transfer yang ditentukan.
Contoh:
bq ls --transfer_run=true projects/myProject/locations/us/transferConfigs/12345
RESOURCEKoleksi yang objeknya ingin Anda cantumkan. Asetnya dapat berupa set data, project, pemesanan, atau konfigurasi transfer.
Untuk informasi selengkapnya tentang penggunaan perintah bq ls, lihat referensi berikut:
- Mengelola tugas
- Mencantumkan set data dalam project
- Membuat dan menggunakan tabel
- Mencantumkan tampilan dalam set data
- Menangani transfer
- Mencantumkan snapshot tabel dalam set data
bq mk
Gunakan perintah bq mk untuk membuat resource BigQuery.
Synopsis
bq mk TYPE_FLAG [OTHER FLAGS] [ARGS]
Flag dan argumen
Perintah bq mk menggunakan flag jenis yang menentukan jenis resource yang akan
dibuat, dan flag tambahan yang bergantung pada jenis resource.
TYPE_FLAG: Setel salah satu flag berikut ke true.
Pilihan Anda menentukan jenis resource yang akan dibuat.
--capacity_commitment: Membeli komitmen kapasitas.--connection: Membuat koneksi--datasetatau-d: Membuat set data.--materialized_view: Membuat tampilan terwujud.--reservation: Membuat pemesanan.--reservation_assignment. Menetapkan folder, project, atau organisasi ke pemesanan.--tableatau-t: Membuat tabel.--transfer_config: Membuat konfigurasi transfer.--transfer_run: Membuat operasi transfer untuk rentang waktu tertentu.--view: Membuat tampilan.
Perintah bq mk mendukung flag berikut untuk semua jenis resource:
--force={true|false}atau-f={true|false}- Untuk mengabaikan error jika resource dengan nama yang sama sudah ada, tetapkan ke
true. Jika resource sudah ada, kode keluarnya adalah 0, tetapi menyetel flag ini ketruetidak menyebabkan perintahbq mkmenimpa resource. Nilai defaultnya adalahfalse.
Perintah bq mk mendukung flag tambahan, bergantung pada jenis resource
yang Anda buat, seperti dijelaskan di bagian berikut.
bq mk --capacity_commitment
Untuk membeli komitmen kapasitas, tetapkan --capacity_commitment ke true dan gunakan flag berikut:
--location=LOCATION- Menentukan lokasi komitmen.
--plan=PLAN_TYPEMenentukan jenis rencana komitmen. Harus salah satu dari nilai berikut:
ANNUALTHREE_YEAR
Pelanggan yang menggunakan harga tetap sebelumnya juga dapat menggunakan salah satu nilai berikut:
FLEXMONTHLYANNUAL
--renewal_plan=RENEWAL_TYPEMenentukan jenis paket perpanjangan. Wajib untuk paket komitmen
ANNUALatauTHREE_YEAR. Harus berupa salah satu dari yang berikut:ANNUALTHREE_YEARNONE
Pelanggan yang menggunakan harga tetap sebelumnya juga dapat menggunakan salah satu nilai berikut:
FLEXMONTHLYANNUAL
--project_id=PROJECT_IDMenentukan project yang mengelola slot.
--slots=NUMBER_OF_BASELINE_SLOTSMenentukan jumlah slot dasar pengukuran yang akan dibeli.
--edition=EDITIONEdisi yang terkait dengan komitmen kapasitas. Harus salah satu dari berikut ini
ENTERPRISEENTERPRISE_PLUS
Untuk informasi selengkapnya, lihat Membeli slot.
bq mk --connection
Membuat koneksi. Flag berikut didukung:
--connection_type=CONNECTION_TYPE- Jenis koneksi, misalnya
CLOUD_SQLuntuk koneksi Cloud SQL. --properties=PROPERTIESParameter khusus koneksi dalam format JSON.
instanceId,database, dantypeharus ditentukan.Jika Anda membuat koneksi Spanner dan ingin menggunakan Data Boost, sertakan pasangan
"useParallelism":truedan"useDataBoost":true.--connection_credential=CONNECTION_CREDENTIALKredensial koneksi dalam format JSON.
usernamedanpasswordharus ditentukan.--project_id=PROJECT_IDMenentukan ID project tempat koneksi tersebut berada.
--location=LOCATIONMenentukan lokasi tempat koneksi akan disimpan.
--display_name=DISPLAY_NAMEMenentukan nama opsional yang cocok untuk koneksi.
--description=DESCRIPTIONMenentukan deskripsi opsional koneksi.
--iam_role_id=ROLE_IDUntuk BigQuery Omni di AWS, menentukan peran IAM yang memungkinkan akses ke resource.
Gunakan format berikut:
"arn:aws:iam::AWS_ACCOUNT_ID:role/POLICY_NAME", dengan:- AWS_ACCOUNT_ID adalah nomor ID pengguna IAM AWS koneksi.
- POLICY_NAME adalah nama kebijakan.
Contoh:
"arn:aws:iam::0123456789AB:policy/s3-read-role"--tenant_id=TENANT_IDUntuk BigQuery Omni di Microsoft Azure, tentukan ID tenant direktori Microsoft Azure yang berisi akun Microsoft Azure Storage.
CONNECTION_IDMenentukan ID koneksi opsional untuk koneksi. Jika ID koneksi tidak diberikan, ID unik akan dibuat secara otomatis. ID koneksi dapat berisi huruf, angka, dan garis bawah.
Untuk mengetahui informasi selengkapnya, lihat Pengantar koneksi.
bq mk --dataset
Membuat set data. Flag berikut didukung:
--add_tags=TAGS- Menentukan tag yang Anda lampirkan ke set data baru, yang dipisahkan dengan koma. Contohnya,
556741164180/env:prod,myProject/department:sales. Setiap tag harus memiliki nama kunci dengan namespace dan nama pendek nilai. --default_kms_key=KEY- Menentukan ID resource kunci Cloud KMS default untuk mengenkripsi data tabel dalam set data jika tidak ada kunci eksplisit yang disediakan selama pembuatan tabel atau kueri.
--default_partition_expiration=SECONDS- Bilangan bulat yang menentukan waktu habis masa berlaku default, dalam detik, untuk semua
partisi dalam tabel berpartisi yang baru dibuat dalam set data. Waktu habis masa berlaku
partisi ditetapkan ke tanggal UTC partisi ditambah nilai bilangan bulat.
Jika properti ini ditetapkan, nilainya akan menggantikan masa berlaku tabel default tingkat set data jika ada. Jika Anda memberikan flag
--time_partitioning_expirationsaat membuat atau memperbarui tabel yang dipartisi, masa berlaku partisi tingkat tabel akan lebih diutamakan daripada masa berlaku partisi default tingkat set data. --default_table_expiration=SECONDS- Bilangan bulat yang menentukan masa aktif default, dalam detik, untuk tabel yang baru dibuat dalam set data. Waktu habis masa berlaku ditetapkan ke waktu UTC saat ini ditambah nilai ini.
--description=DESCRIPTION- Menentukan deskripsi set data.
--external_source=EXTERNAL_SOURCE- Menentukan sumber data eksternal saat membuat set data gabungan.
--label=KEY:VALUE- Menentukan label untuk set data. Ulangi flag ini untuk menentukan beberapa label.
--location=LOCATIONatau--data_location=LOCATION- Menentukan lokasi set data. Pilih flag
--location; flag--data_locationadalah flag lama. --max_time_travel_hours=HOURS- Menentukan durasi dalam jam pada periode perjalanan waktu untuk set data. Nilai
--max_time_travel_hoursharus berupa bilangan bulat yang dinyatakan dalam kelipatan 24 (48, 72, 96, 120, 144, 168) antara 48 (2 hari) dan 168 (7 hari). 168 jam adalah nilai default jika flag ini tidak ditentukan. --storage_billing_model=BILLING_MODELMenentukan model penagihan penyimpanan untuk set data. Tetapkan nilai
--storage_billing_modelkePHYSICALuntuk menggunakan byte fisik saat menghitung biaya penyimpanan, atau keLOGICALuntuk menggunakan byte logis.LOGICALadalah defaultnya.Jika Anda mengubah model penagihan set data, perlu waktu 24 jam agar perubahan diterapkan.
Setelah mengubah model penagihan penyimpanan set data, Anda harus menunggu 14 hari sebelum dapat mengubah model penagihan penyimpanan lagi.
Untuk informasi selengkapnya, lihat Membuat set data.
bq mk --materialized_view
Membuat tampilan terwujud. Flag berikut didukung:
--enable_refresh={true|false}- Untuk menonaktifkan pemuatan ulang otomatis untuk tampilan terwujud, tetapkan ke
false. Default saat membuat tampilan terwujud adalahtrue. --refresh_interval_ms=MILLISECONDS- Menentukan jumlah milidetik untuk interval refresh pada tampilan terwujud. Jika flag ini tidak ditentukan, interval refresh default untuk tampilan terwujud yang mengaktifkan refresh adalah 1.800.000 milidetik, yaitu 30 menit.
Untuk informasi selengkapnya, lihat Membuat dan menggunakan tampilan terwujud.
bq mk --reservation
Membuat pemesanan dengan slot khusus. Flag berikut didukung:
--target_job_concurrency=CONCURRENCY- Menentukan jumlah target kueri yang dijalankan secara bersamaan. Nilai defaultnya adalah 0, yang berarti konkurensi akan otomatis dihitung berdasarkan ukuran pemesanan. Untuk informasi selengkapnya, lihat Menggunakan antrean kueri.
--ignore_idle_slots={true|false}- Untuk membatasi tugas yang berjalan di pemesanan ini agar hanya menggunakan slot yang dialokasikan ke
pemesanan, tetapkan ke
true. Nilai defaultnya adalahfalse; tugas dalam pemesanan ini dapat menggunakan slot tidak ada aktivitas dari pemesanan lain, atau slot yang tidak dialokasikan ke pemesanan apa pun. Untuk informasi selengkapnya, lihat Slot tidak ada aktivitas. --location=LOCATION- Menentukan lokasi reservasi.
--project_id=PROJECT_ID- Menentukan project yang memiliki pemesanan.
--slots=NUMBER_OF_BASELINE_SLOTS- Menentukan jumlah slot dasar pengukuran yang akan dialokasikan ke reservasi ini.
--edition=EDITION- Edisi yang terkait dengan komitmen
kapasitas. Harus berupa salah satu dari berikut ini:
STANDARDENTERPRISEENTERPRISE_PLUS
--autoscale_max_slots=NUMBER_OF_AUTOSCALING_SLOTS- Jumlah slot penskalaan otomatis yang ditetapkan untuk pemesanan. Nilai ini sama dengan
nilai ukuran reservasi maksimum dikurangi jumlah slot dasar pengukuran. Hanya
tersedia dengan flag
--edition. --max_slots=MAXIMUM_NUMBER_OF_SLOTS- Jumlah maksimum slot yang akan digunakan pemesanan. Harus dikonfigurasi
dengan tanda
--scaling_mode(Pratinjau). --scaling_mode=SCALING_MODEMode penskalaan reservasi. Harus salah satu dari berikut ini
IDLE_SLOTS_ONLYALL_SLOTSAUTOSCALE_ONLYSCALING_MODE_UNSPECIFIED
Harus dikonfigurasi dengan tanda
--max_slots(Pratinjau).
Untuk informasi selengkapnya, lihat Membuat reservasi dengan slot khusus.
bq mk --reservation_assignment
Menetapkan project, folder, atau organisasi ke pemesanan. Flag berikut didukung:
--assignee_id=ASSIGNEE_ID- Menentukan ID folder, organisasi, atau project.
--assignee_type=ASSIGNEE_TYPE- Menentukan jenis entity yang akan ditetapkan ke reservasi. Salah satu
dari berikut ini:
FOLDERORGANIZATIONPROJECT
--job_type=JOB_TYPE- Menentukan jenis tugas yang akan ditetapkan ke pemesanan. Salah satu dari berikut ini:
QUERYPIPELINEML_EXTERNALBACKGROUND
--location=LOCATION- Menentukan lokasi reservasi.
--project_id=PROJECT_ID- Menentukan project yang memiliki pemesanan.
--reservation_id=RESERVATION_ID- Menentukan ID pemesanan.
Untuk informasi selengkapnya, lihat Menangani penetapan pemesanan.
bq mk --table
Membuat tabel. Flag berikut didukung:
--add_tags=TAGS- Menentukan tag yang Anda lampirkan ke tabel baru, yang dipisahkan dengan koma. Contohnya,
556741164180/env:prod,myProject/department:sales. Setiap tag harus memiliki nama kunci dengan namespace dan nama pendek nilai. --clustering_fields=COLUMNS- Daftar yang dipisahkan koma berisi empat nama kolom yang menentukan kolom yang akan digunakan untuk pengelompokan tabel. Jika ditentukan dengan partisi, tabel akan dipartisi terlebih dahulu, lalu setiap partisi akan dikelompokkan menggunakan kolom yang disediakan.
--description=DESCRIPTION- Menentukan deskripsi tabel.
--destination_kms_key=KEY- Menentukan ID resource kunci Cloud KMS untuk mengenkripsi data tabel tujuan.
--expiration=SECONDS- Menentukan masa aktif untuk tabel. Jika Anda tidak menentukan flag
--expiration, BigQuery akan membuat tabel dengan masa aktif tabel default set data, atau masa berlaku tabel tidak akan habis. --external_table_definition=STRINGMenentukan definisi tabel untuk membuat tabel eksternal.
Untuk tabel eksternal Cloud Storage dan Google Drive:
-
--external_table_definition={PATH_TO_FILE|DEFINITION} - Nilainya dapat berupa jalur ke file yang berisi
definisi tabel
(
PATH_TO_FILE) atau definisi tabel inline (DEFINITION).
- Format untuk kolom
DEFINITIONadalahSCHEMA@FORMAT=URI. Format untuk nilai
SCHEMAadalah daftar definisi kolom yang dipisahkan koma dalam bentukFIELD:DATA_TYPE, FIELD:DATA_TYPE. Anda dapat menghilangkan nilaiSCHEMAjika format data sudah terdeskripsi (seperti Avro) atau jika Anda menggunakan deteksi otomatis skema.Nilai
FORMATmenentukan format data; salah satu dari berikut:AVROCSVDATASTORE_BACKUP(gunakan nilai ini untuk Filestore)ICEBERGNEWLINE_DELIMITED_JSONORCPARQUET
Jika Anda menentukan file definisi tabel, jangan tambahkan ekstensi ke nama file.
Contoh:
--external_table_definition=/tmp/tabledef
--external_table_definition=Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv
Untuk tabel eksternal Bigtable, dan tabel BigLake berdasarkan AWS dan Azure:
--external_table_definition=PATH_TO_FILE- Nilai harus berupa jalur ke file yang berisi definisi tabel.
Untuk tabel BigLake berdasarkan Cloud Storage:
--external_table_definition=FORMAT=BUCKET_PATH@REGION.CONNECTION_NAME:Nilai
FORMATmenentukan format data; salah satu dari berikut:AVROCSVNEWLINE_DELIMITED_JSONICEBERGORCPARQUET
BUCKET_PATHadalah jalur ke satu atau beberapa file di Cloud Storage yang berisi data tabel BigLake. Anda dapat menentukanBUCKET_PATHdalam format berikut:- Untuk satu file:
gs://bucket_name/[folder_name/]file_name. - Untuk beberapa file dalam satu bucket:
gs://bucket_name/[folder_name/]*. Untuk beberapa file dalam beberapa bucket:
gs://mybucket1/*,gs://mybucket2/folder5/*.Anda dapat menggunakan karakter pengganti untuk membatasi file yang disertakan dalam tabel BigLake. Misalnya, jika bucket berisi beberapa jenis data, Anda dapat membuat tabel hanya menggunakan file PARQUET dengan menentukan
gs://bucket_name/*.parquet. Untuk informasi selengkapnya tentang penggunaan karakter pengganti, lihat Karakter pengganti URI.
- Untuk satu file:
Nilai
REGIONmenentukan region atau multi-region yang berisi koneksi.Nilai
CONNECTION_NAMEmenentukan nama koneksi resource cloud yang akan digunakan dengan tabel eksternal ini. Koneksi menentukan akun layanan mana yang digunakan untuk membaca data dari Cloud Storage.
Untuk tabel objek:
--external_table_definition=BUCKET_PATH@REGION.CONNECTION_NAME:BUCKET_PATHadalah jalur ke bucket Cloud Storage yang berisi objek yang direpresentasikan oleh tabel objek, dalam formatgs://bucket_name/[folder_name/]*. Anda dapat menentukan beberapa bucket dengan menyediakan beberapa jalur, misalnyags://mybucket1/*,gs://mybucket2/folder5/*.Anda dapat menggunakan karakter pengganti untuk membatasi objek yang disertakan dalam tabel objek. Misalnya, jika bucket berisi beberapa jenis data tidak terstruktur, Anda dapat membuat tabel objek hanya pada objek PDF dengan menentukan
gs://bucket_name/*.pdf. Untuk informasi selengkapnya tentang penggunaan karakter pengganti, lihat Karakter pengganti URI.Nilai
REGIONmenentukan region atau multi-region yang berisi koneksi.Nilai
CONNECTION_NAMEmenentukan nama koneksi resource cloud yang akan digunakan dengan tabel eksternal ini. Koneksi menentukan akun layanan mana yang digunakan untuk membaca data dari Cloud Storage.
-
--file_set_spec_type=FILE_SET_SPEC_TYPEMenentukan cara menafsirkan URI sumber.
FILE_SYSTEM_MATCH: Memperluas URI sumber dengan mencantumkan file dari penyimpanan objek. Ini adalah perilaku default jika FileSetSpecType tidak ditetapkan.NEW_LINE_DELIMITED_MANIFEST: Menunjukkan bahwa URI yang disediakan adalah file manifes yang dibatasi newline, dengan satu URI per baris. URI karakter pengganti tidak didukung dalam file manifes, dan semua file data yang dirujuk harus berada di bucket yang sama dengan manifes.
Misalnya, jika Anda memiliki URI sumber
"gs://bucket/path/file"danfile_set_spec_typeadalahFILE_SYSTEM_MATCH, maka file tersebut akan langsung digunakan sebagai file data. Jikafile_set_spec_typeadalahNEW_LINE_DELIMITED_MANIFEST, setiap baris dalam file akan ditafsirkan sebagai URI yang mengarah ke file data.--reference_file_schema_uri=URIMenentukan jalur ke file referensi dengan skema tabel yang diharapkan untuk membuat tabel eksternal. Setara dengan
ExternalDataConfiguration.referenceFileSchemaUri. Flag ini diaktifkan untuk format Avro, ORC, dan PARQUET.--label=KEY:VALUEMenentukan label untuk tabel. Ulangi tanda ini untuk menentukan beberapa label.
--max_staleness=INTERVALMenentukan apakah metadata yang di-cache digunakan oleh operasi terhadap tabel, dan seberapa baru metadata yang di-cache agar operasi dapat menggunakannya.
Berlaku untuk tabel BigLake dan tabel objek.
Untuk menonaktifkan penyimpanan metadata ke dalam cache, isi dengan 0. Ini adalah setelan defaultnya.
Untuk mengaktifkan penyimpanan metadata ke dalam cache, tentukan nilai interval antara 30 menit hingga 7 hari, menggunakan format
Y-M D H:M:Syang dijelaskan dalam dokumentasi jenis dataINTERVAL. Misalnya, tentukan0-0 0 4:0:0untuk interval penghentian 4 jam. Dengan nilai ini, operasi terhadap tabel akan menggunakan metadata yang di-cache jika metadata telah diperbarui dalam 4 jam terakhir. Jika metadata yang di-cache lebih lama dari itu, operasi akan kembali untuk mengambil metadata dari Cloud Storage.--object_metadata=STRINGTetapkan nilai flag ini ke
SIMPLEsaat membuat tabel objek.Hanya diperlukan saat membuat tabel objek.
--range_partitioning=COLUMN_NAME,START,END,INTERVALMenentukan opsi untuk partisi rentang bilangan bulat, seperti berikut:
column_nameadalah kolom yang digunakan untuk membuat partisi rentang bilangan bulat.startadalah awal partisi rentang, inklusif.endadalah akhir dari partisi rentang, eksklusif.intervaladalah lebar setiap rentang dalam partisi.
Contoh:
--range_partitioning=customer_id,0,10000,100
--require_partition_filter={true|false}Guna mewajibkan filter partisi untuk kueri atas tabel yang disediakan, tetapkan ke
true. Flag ini hanya berlaku untuk tabel yang dipartisi. Nilai defaultnya adalahfalse.--schema={SCHEMA_FILE|SCHEMA}Menentukan jalur ke file skema JSON lokal atau daftar definisi kolom yang dipisahkan koma dalam bentuk
FIELD:DATA_TYPE, FIELD:DATA_TYPE. Jika Anda menggunakan file skema, jangan tambahkan ekstensi ke nama file.Contoh:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
--time_partitioning_expiration=SECONDSBilangan bulat yang menentukan (dalam detik) kapan partisi berbasis waktu harus dihapus. Waktu habis masa berlaku dievaluasi terhadap tanggal UTC partisi ditambah nilai bilangan bulat. Angka negatif menunjukkan tidak ada masa berlaku.
--time_partitioning_field=COLUMN_NAMEMenentukan kolom yang digunakan untuk menentukan cara membuat partisi berbasis waktu. Jika partisi berbasis waktu diaktifkan tanpa nilai ini, tabel akan dipartisi berdasarkan waktu pemuatan.
--time_partitioning_type=INTERVALMengaktifkan partisi berbasis waktu pada tabel dan menetapkan jenis partisi. Gunakan salah satu nilai berikut:
DAYHOURMONTHYEAR
--use_avro_logical_types={true|false}Jika bagian
FORMATdari flag--external_table_definitionditetapkan keAVRO, flag ini akan menentukan apakah akan mengonversi jenis logika atau tidak ke dalam jenis yang sesuai (sepertiTIMESTAMP), bukan hanya menggunakan jenis raw (sepertiINTEGER).--parquet_enable_list_inference={true|false}Jika bagian
FORMATdari flag--external_table_definitionditetapkan kePARQUET, flag ini akan menentukan penggunaan inferensi skema untuk jenis logika ParquetLIST.--parquet_enum_as_string={true|false}Jika bagian
FORMATdari flag--external_table_definitionditetapkan kePARQUET, flag ini akan menentukan apakah akan menyimpulkan jenis logikaENUMParquet sebagai nilaiSTRING.
Untuk informasi selengkapnya, lihat Membuat dan menggunakan tabel.
bq mk --transfer_config
Membuat konfigurasi transfer. Flag berikut didukung:
--data_source=DATA_SOURCE- Menentukan sumber data. Diperlukan saat membuat konfigurasi transfer. Gunakan salah satu nilai berikut:
amazon_s3- Transfer data Amazon S3azure_blob_storage- Transfer data Azure Blob Storagedcm_dt- Transfer data Campaign Managergoogle_cloud_storage- Transfer data Cloud Storagecross_region_copy- Salinan Set Datadfp_dt- Transfer Data Google Ad Managerdisplayvideo- Transfer data Display & Video 360google_ads- Transfer data Google Adsmerchant_center- Transfer data Google Merchant Centermysql- Transfer data MySQLplay- Transfer data Google Playscheduled_query- Transfer data kueri terjadwalsearch_ads- Transfer data Search Ads 360youtube_channel- Transfer data Channel YouTubeyoutube_content_owner- Transfer data Pemilik Konten YouTuberedshift- Migrasi Amazon Redshifton_premises- Migrasi Teradata
--display_name=DISPLAY_NAME- Menentukan nama tampilan untuk konfigurasi transfer.
--no_auto_scheduling={true|false}- Menonaktifkan penjadwalan otomatis eksekusi transfer data untuk konfigurasi ini.
Nilai defaultnya adalah
false. --params={"PARAMETER":"VALUE"}atau-p={"PARAMETER":"VALUE"}- Menentukan parameter untuk konfigurasi transfer dalam format JSON. Parameter ini bervariasi, tergantung pada sumber data.
--refresh_window_days=DAYS- Bilangan bulat yang menentukan periode refresh untuk konfigurasi transfer dalam
hari. Nilai defaultnya adalah
0. --service_account_name=SERVICE_ACCOUNT- Menentukan akun layanan yang akan digunakan sebagai kredensial untuk konfigurasi transfer.
--target_dataset=DATASET- Menentukan set data target untuk konfigurasi transfer.
--table_filter=TABLES- Hanya digunakan dengan sumber data
google_ads. ParameterTABLESadalah daftar tabel yang dipisahkan koma untuk disertakan dalam transfer. Untuk mengecualikan tabel, awali dengan tanda hubung (-). Nilai default mencakup semua tabel dalam transfer. --destination_kms_key=KEY- Menentukan ID resource kunci Cloud KMS untuk mengenkripsi data tabel tujuan.
Untuk informasi tentang penggunaan perintah bq mk dengan BigQuery Data Transfer Service, lihat referensi 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
bq mk --transfer_run
Membuat transfer data yang dioperasikan pada waktu atau rentang waktu yang ditentukan menggunakan konfigurasi transfer data yang ditentukan.
Synopsis
bq mk --transfer_run [--run_time=RUN_TIME | --start_time=START_TIME --end_time=END_TIME] CONFIG
Flag berikut didukung:
--run_time=RUN_TIME- Stempel waktu yang menentukan waktu untuk menjadwalkan proses transfer data.
--start_time=START_TIME- Stempel waktu yang menentukan waktu mulai untuk rentang operasi transfer data.
--end_time=END_TIME- Stempel waktu yang menentukan waktu berakhir untuk rentang operasi transfer data.
Format stempel waktu adalah RFC3339 UTC "Zulu".
Argumen CONFIG menentukan konfigurasi transfer data yang sudah ada sebelumnya.
Contoh
bq mk --transfer_run \ --run_time=2021-01-20T17:00:00.00Z \ projects/p/locations/l/transferConfigs/c
bq mk --transfer_run \ --start_time=2020-12-19T16:39:57-08:00 \ --end_time=2020-12-19T20:39:57-08:00 \ projects/p/locations/l/transferConfigs/c
bq mk --view
Membuat tampilan. Flag berikut didukung:
--add_tags=TAGS- Menentukan tag yang Anda lampirkan ke tampilan
baru, yang dipisahkan dengan koma. Contohnya,
556741164180/env:prod,myProject/department:sales. Setiap tag harus memiliki nama kunci dengan namespace dan nama pendek nilai. --description=DESCRIPTION- Menentukan deskripsi tampilan.
--expiration=SECONDS- Menentukan masa aktif untuk tampilan. Jika
SECONDSadalah0, masa berlaku tampilan tidak akan berakhir. Jika Anda tidak menentukan flag--expiration, BigQuery akan membuat tampilan dengan masa aktif tabel default set data. --label=KEY:VALUE- Menentukan label untuk tampilan. Ulangi flag ini untuk menentukan beberapa label.
--use_legacy_sql={true|false}- Tetapkan ke
falseuntuk menggunakan kueri GoogleSQL untuk membuat tampilan. Nilai default ditentukan oleh setelan konfigurasi Anda. Jika setelan konfigurasi tidak ditentukan, nilai defaultnya adalahtrue; menggunakan legacy SQL. --view_udf_resource=FILE- Menentukan URI Cloud Storage atau jalur ke file kode lokal yang langsung dimuat dan dievaluasi sebagai resource fungsi yang ditentukan pengguna dan digunakan oleh kueri SQL tampilan. Ulangi flag ini untuk menentukan beberapa file.
Untuk informasi selengkapnya, lihat Membuat tampilan.
bq mkdef
Gunakan perintah bq mkdef untuk membuat definisi tabel dalam format JSON untuk data yang disimpan di Cloud Storage atau Google Drive.
Synopsis
bq mkdef [FLAGS] URI [ > FILE ]
Flag dan argumen
Perintah bq mkdef menggunakan flag dan argumen berikut:
--autodetect={true|false}- Menentukan penggunaan deteksi otomatis skema untuk data
CSV dan JSON. Defaultnya adalah
false. --connection_id=CONNECTION_ID- ID resource koneksi yang akan digunakan untuk autentikasi.
--hive_partitioning_modeMenentukan cara menentukan skema partisi saat BigQuery membaca data. Mode berikut didukung:
AUTO: Secara otomatis menyimpulkan nama dan jenis kunci partisi.STRINGS: Secara otomatis menyimpulkan nama kunci partisi. Semua jenis diperlakukan sebagai string.CUSTOM: Menentukan skema partisi di awalan URI sumber.
Nilai defaultnya adalah
AUTO.--hive_partitioning_source_uri_prefixMenentukan awalan umum untuk URI sumber. Nilai awalan umum adalah bagian dari URI yang tepat sebelum encoding kunci partisi. Jika sudah menentukan
CUSTOMuntuk mode, Anda juga harus mengidentifikasi skema partisi.Misalnya, pertimbangkan file dengan struktur berikut:
gs://bucket/path_to_table/dt=2019-06-01/country=USA/id=7/file.avrogs://bucket/path_to_table/dt=2019-05-31/country=CA/id=3/file.avro
Jika Anda menggunakan mode
AUTOatauSTRINGS, nilai berikut dapat diterima:gs://bucket/path_to_tablegs://bucket/path_to_table/
Jika Anda menggunakan mode
CUSTOM, nilai berikut dapat diterima:gs://bucket/path_to_table/{dt:DATE}/{country:STRING}/{id:INTEGER}gs://bucket/path_to_table/{dt:STRING}/{country:STRING}/{id:INTEGER}gs://bucket/path_to_table/{dt:DATE}/{country:STRING}/{id:STRING}
Untuk informasi selengkapnya tentang penggunaan perintah bq mkdef, lihat
Membuat file definisi tabel untuk sumber data eksternal.
--ignore_unknown_values={true|false}atau-i={true|false}- Menentukan pengabaian nilai apa pun di baris yang tidak ada dalam
skema. Defaultnya adalah
false. --metadata_cache_mode=STRINGMenentukan apakah cache metadata untuk tabel dimuat ulang secara otomatis atau manual.
Tetapkan ke
AUTOMATICagar cache metadata dimuat ulang pada interval yang ditentukan sistem, biasanya antara 30 dan 60 menit.Tetapkan ke
MANUALjika Anda ingin me-refresh cache metadata pada jadwal yang Anda tentukan. Dalam hal ini, Anda dapat memanggil prosedur sistemBQ.REFRESH_EXTERNAL_METADATA_CACHEuntuk memuat ulang cache.Anda harus menetapkan flag
--metadata_cache_modejika menetapkan flag--max_stalenessdengan perintahbq mk.--parquet_enable_list_inference={true|false}Jika
source_formatdisetel kePARQUET, flag ini akan menentukan apakah akan menggunakan inferensi skema untuk jenis logikaLISTParquet. Defaultnya adalahfalse.--parquet_enum_as_string={true|false}Jika
source_formatdisetel kePARQUET, flag ini akan menentukan apakah perlu menyimpulkan jenis logikaENUMParquet sebagai nilaiSTRINGatau tidak. Defaultnya adalahfalse.--file_set_spec_type=FILE_SET_SPEC_TYPEMenentukan cara menafsirkan URI sumber.
FILE_SYSTEM_MATCH: Memperluas URI sumber dengan mencantumkan file dari penyimpanan objek. Ini adalah perilaku default jika FileSetSpecType tidak ditetapkan.NEW_LINE_DELIMITED_MANIFEST: Menunjukkan bahwa URI yang disediakan adalah file manifes yang dibatasi newline, dengan satu URI per baris. URI karakter pengganti tidak didukung dalam file manifes, dan semua file data yang dirujuk harus berada di bucket yang sama dengan manifes.
Misalnya, jika Anda memiliki URI sumber
"gs://bucket/path/file"danfile_set_spec_typeadalahFILE_SYSTEM_MATCH, maka file tersebut akan langsung digunakan sebagai file data. Jikafile_set_spec_typeadalahNEW_LINE_DELIMITED_MANIFEST, setiap baris dalam file akan ditafsirkan sebagai URI yang mengarah ke file data.--source_format=FORMATMenentukan format data sumber. Gunakan salah satu nilai berikut:
AVROCSVDATASTORE_BACKUP(gunakan nilai ini untuk Filestore)GOOGLE_SHEETSNEWLINE_DELIMITED_JSONORCPARQUET
Nilai defaultnya adalah
CSV.--use_avro_logical_types={true|false}Jika flag
--source_formatdisetel keAVRO, flag ini akan menentukan apakah akan mengonversi jenis logika ke dalam jenis yang sesuai (sepertiTIMESTAMP), bukan hanya menggunakan jenis raw (sepertiINTEGER). Defaultnya adalahfalse.
bq partition
Gunakan perintah bq partition untuk mengonversi grup tabel dengan akhiran unit waktu, seperti tabel yang diakhiri dengan YYYYMMDD untuk partisi tanggal, menjadi tabel yang dipartisi.
Synopsis
bq partition [FLAGS] SOURCE_TABLE_BASE_NAME PARTITION_TABLE
Flag dan argumen
Perintah bq partition menggunakan flag dan argumen berikut:
--no_clobber={true|false}atau-n={true|false}- Untuk melarang penimpaan partisi yang ada,
tetapkan ke
true. Nilai defaultnya adalahfalse; jika ada, partisi tersebut akan ditimpa. --time_partitioning_expiration=SECONDS- Bilangan bulat yang menentukan (dalam detik) kapan partisi berbasis waktu harus dihapus. Waktu habis masa berlaku dievaluasi terhadap tanggal UTC partisi ditambah nilai bilangan bulat. Angka negatif menunjukkan tidak ada masa berlaku.
--time_partitioning_type=INTERVALMenentukan jenis partisi. Tabel berikut memberikan kemungkinan nilai untuk flag
INTERVALdan format akhiran unit waktu yang diharapkan untuk masing-masing:INTERVALSuffix HOURYYYYMMDDHHDAYYYYYMMDDMONTHYYYYMMYEARYYYYSOURCE_TABLE_BASE_NAMENama dasar grup tabel dengan akhiran satuan waktu.
PARTITION_TABLENama tujuan tabel berpartisi.
Untuk informasi selengkapnya tentang penggunaan perintah bq partition, lihat
Mengonversi tabel dengan sharding tanggal menjadi tabel berpartisi berdasarkan waktu penyerapan.
bq query
Gunakan perintah bq query untuk membuat tugas kueri yang menjalankan kueri SQL
yang ditentukan.
Synopsis
bq query [FLAGS] 'QUERY'
Flag dan argumen
Perintah bq query menggunakan flag dan argumen berikut:
--allow_large_results={true|false}- Untuk mengaktifkan ukuran tabel tujuan besar
untuk kueri SQL lama, tetapkan ke
true. Nilai defaultnya adalahfalse. --append_table={true|false}- Untuk menambahkan data ke tabel tujuan, tetapkan ke
true. Nilai defaultnya adalahfalse. --batch={true|false}- Untuk menjalankan kueri dalam mode batch, tetapkan ke
true. Nilai defaultnya adalahfalse. --clustering_fields=COLUMNS- Daftar yang dipisahkan koma, berisi maksimum empat nama kolom, sebagai penentu kolom yang akan digunakan untuk mengelompokkan tabel tujuan dalam kueri. Jika ditentukan dengan partisi, tabel akan dipartisi terlebih dahulu, lalu setiap partisi akan dikelompokkan menggunakan kolom yang disediakan.
--connection_property=KEY=VALUEPasangan nilai kunci yang memungkinkan Anda menentukan properti tingkat koneksi untuk menyesuaikan perilaku kueri. Ulangi tanda ini untuk menentukan properti tambahan.
Properti koneksi yang didukung adalah sebagai berikut:
dataset_project_id: merepresentasikan project default untuk set data yang digunakan dalam kueri, mirip dengan@@dataset_project_idvariabel sistem.query_label: mengaitkan kueri dengan label tugas tertentu. Jika ditetapkan, semua kueri berikutnya dalam skrip atau sesi akan memiliki label ini. Untuk mengetahui detail persyaratan pemformatan label kueri, lihat kolomlabelsdi resourceJobConfiguration.service_account: menentukan akun layanan yang akan digunakan untuk menjalankan kueri. Contohnya,--connection_property=service_account=myserviceaccount@project.iam.gserviceaccount.com.session_id: mengaitkan kueri dengan sesi tertentu.time_zone: mewakili zona waktu default yang akan digunakan untuk menjalankan kueri.
--continuous={true|false}Untuk menjalankan kueri berkelanjutan, tetapkan ke
true. Nilai defaultnya adalahfalse.--destination_kms_key=KEYMenentukan ID resource kunci Cloud KMS untuk mengenkripsi data tabel tujuan.
--destination_schema={PATH_TO_FILE|SCHEMA}Jalur ke file skema JSON lokal atau daftar definisi kolom yang dipisahkan koma dalam bentuk
FIELD:DATA_TYPE, FIELD:DATA_TYPE.Perubahan skema terjadi dalam operasi yang terpisah dari eksekusi kueri. Jika Anda menulis hasil kueri ke tabel dengan menentukan flag
--destination_table, lalu kueri tersebut memunculkan pengecualian, ada kemungkinan bahwa setiap perubahan skema akan dilewati. Jika hal ini terjadi, periksa skema tabel tujuan dan perbarui secara manual jika perlu.--destination_table=TABLEJika ditentukan, hasil kueri akan disimpan ke
TABLE. TentukanTABLEdalam format berikut:PROJECT:DATASET.TABLE. JikaPROJECTtidak ditentukan, maka project saat ini akan digunakan. Jika flag--destination_tabletidak ditentukan, hasil kueri akan disimpan ke tabel sementara.Contoh:
--destination_table myProject:myDataset.myTable
--destination_table myDataset.myTable
--dry_run={true|false}Jika ditentukan, kueri akan divalidasi tetapi tidak dijalankan.
--external_table_definition={TABLE::PATH_TO_FILE|TABLE::DEFINITION}Menentukan nama tabel dan definisi tabel untuk kueri tabel eksternal. Definisi tabel dapat berupa jalur ke file skema JSON lokal atau definisi tabel inline. Format untuk memberikan definisi tabel inline adalah
SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URI. Format untuk nilaiSCHEMAadalah daftar definisi kolom yang dipisahkan koma dalam bentukFIELD:DATA_TYPE, FIELD:DATA_TYPE. Jika Anda menggunakan file definisi tabel, jangan tambahkan ekstensi ke nama file.Contoh:
--external_table_definition=myTable::/tmp/tabledef
--external_table_definition=myTable::Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv
Ulangi flag ini untuk membuat kueri beberapa tabel.
--flatten_results={true|false}Untuk melarang perataan kolom bertingkat dan berulang dalam hasil kueri SQL lama, tetapkan ke
false. Nilai defaultnya adalahtrue.--label=KEY:VALUEMenentukan label untuk tugas kueri. Ulangi tanda ini untuk menentukan beberapa label.
--max_rows=MAX_ROWSatau-n=MAX_ROWSBilangan bulat yang menentukan jumlah baris yang akan ditampilkan dalam hasil kueri. Nilai defaultnya adalah
100.--maximum_bytes_billed=MAX_BYTESBilangan bulat yang membatasi byte yang ditagih untuk kueri. Jika kueri melampaui batas, kueri akan gagal (tanpa menimbulkan biaya). Jika flag ini tidak ditentukan, byte yang ditagih akan ditetapkan ke default project.
--max_statement_results=VALUEBilangan bulat yang menentukan jumlah maksimum pernyataan skrip yang ditampilkan untuk hasil kueri. Nilai defaultnya adalah
100.--min_completion_ratio=RATIO(Eksperimental) Angka dari 0 hingga 1,0 yang menentukan fraksi minimum data yang harus dipindai sebelum kueri ditampilkan. Jika flag ini tidak ditentukan, nilai server default
1.0akan digunakan.--parameter={PATH_TO_FILE|PARAMETER}File JSON yang berisi daftar parameter kueri, atau parameter kueri dalam bentuk
NAME:TYPE:VALUE. Nama kosong akan membuat parameter posisi. JikaTYPEdihilangkan, maka jenisSTRINGdiasumsikan.NULLmenentukan nilai null. Ulangi flag ini untuk menentukan beberapa parameter.Contoh:
--parameter=/tmp/queryParams
--parameter=Name::Oscar
--parameter=Count:INTEGER:42
--range_partitioning=COLUMN_NAME,START,END,INTERVALGunakan dengan flag
--destination_table. Menentukan opsi untuk partisi rentang bilangan bulat dalam tabel tujuan. Nilainya adalah daftar yang dipisahkan koma dari bentukcolumn_name,start,end,interval, dengancolumn_nameadalah kolom yang digunakan untuk membuat partisi rentang bilangan bulat.startadalah awal partisi rentang, inklusif.endadalah akhir dari partisi rentang, eksklusif.intervaladalah lebar setiap rentang dalam partisi.
Contoh:
--range_partitioning=customer_id,0,10000,100
--replace={true|false}Untuk menimpa tabel tujuan dengan hasil kueri, tetapkan ke
true. Semua data dan skema yang ada akan dihapus. Semua kunci Cloud KMS juga akan dihapus, kecuali jika Anda menentukan flag--destination_kms_key. Nilai defaultnya adalahfalse.--require_cache={true|false}Jika ditentukan, jalankan kueri hanya jika hasilnya dapat diambil dari cache.
--require_partition_filter={true|false}Jika ditentukan, filter partisi diperlukan untuk kueri pada tabel yang disediakan. Flag ini hanya dapat digunakan dengan tabel yang dipartisi.
- **
--reservation_id=RESERVATION Pratinjau. Jika ditentukan, pemesanan tempat kueri dijalankan.
--rpc={true|false}Untuk menggunakan API kueri bergaya RPC, dan bukan metode
jobs.insertREST API, tetapkan ketrue. Nilai defaultnya adalahfalse.--schedule="SCHEDULE"Membuat kueri menjadi kueri terjadwal berulang. Diperlukan jadwal seberapa sering kueri harus dijalankan.
Contoh:
--schedule="every 24 hours"
--schedule="every 3 hours"
Untuk deskripsi sintaksis jadwal, lihat Memformat jadwal.
--schema_update_option=OPTIONSaat menambahkan data ke tabel dalam tugas pemuatan atau tugas kueri, atau saat menimpa partisi tabel, menentukan cara memperbarui skema tabel tujuan. Gunakan salah satu nilai berikut:
ALLOW_FIELD_ADDITION: Mengizinkan kolom baru untuk ditambahkan.ALLOW_FIELD_RELAXATION: Mengizinkan kolomREQUIREDyang melonggarkan untukNULLABLE.
Ulangi flag ini untuk menentukan beberapa opsi update skema.
--start_row=ROW_NUMBERatau-s=ROW_NUMBERBilangan bulat yang menentukan baris pertama yang akan ditampilkan dalam hasil kueri. Nilai defaultnya adalah
0.--target_dataset=DATASETJika ditetapkan dengan
--schedule, akan memperbarui set data target untuk kueri terjadwal. Kueri harus berupa DDL atau DML.--time_partitioning_expiration=SECONDSGunakan dengan flag
--destination_table. Bilangan bulat yang menentukan (dalam detik) kapan partisi berbasis waktu harus dihapus. Waktu habis masa berlaku dievaluasi dengan tanggal UTC partisi ditambah nilai bilangan bulat. Angka negatif menunjukkan tidak ada masa berlaku.--time_partitioning_field=COLUMN_NAMEGunakan dengan flag
--destination_table. Menentukan kolom partisi untuk partisi berbasis waktu. Jika partisi berbasis waktu diaktifkan tanpa nilai ini, tabel akan dipartisi berdasarkan waktu penyerapan.--time_partitioning_type=INTERVALGunakan dengan flag
--destination_table. Menentukan jenis partisi untuk tabel tujuan. Gunakan salah satu nilai berikut:DAYHOURMONTHYEAR
--udf_resource=FILEFlag ini hanya berlaku untuk kueri SQL lama. Menentukan URI Cloud Storage atau jalur ke file lokal yang berisi resource fungsi yang ditentukan pengguna untuk digunakan oleh kueri SQL lama. Ulangi flag ini untuk menentukan beberapa file.
--use_cache={true|false}Untuk melarang hasil kueri penyimpanan dalam cache, tetapkan ke
false. Nilai defaultnya adalahtrue.--use_legacy_sql={true|false}Untuk menjalankan kueri GoogleSQL, tetapkan ke
false. Nilai default ditentukan oleh setelan konfigurasi Anda. Jika setelan konfigurasi tidak ditentukan, nilai defaultnya adalahtrue; perintah tersebut menggunakan legacy SQL.--job_timeout_ms={string (Int64Value)}Menentukan waktu maksimum untuk menjalankan kueri dalam milidetik. Jika batas waktu ini terlampaui, BigQuery akan mencoba menghentikan tugas.
QUERYKueri yang ingin Anda jalankan. Anda dapat menentukan kueri menggunakan salah satu metode berikut:
Tentukan string yang berisi kueri.
Jika perlu menggunakan literal string tambahan dalam kueri, Anda harus mengikuti aturan kutipan untuk shell yang Anda gunakan, seperti Bash atau PowerShell.
Contoh berikut menunjukkan pendekatan umum di Bash, yaitu menggunakan tanda petik ganda untuk menunjukkan literal string dalam kueri, lalu menyertakan kueri itu sendiri dalam tanda petik tunggal:
'SELECT * FROM mydataset.mytable WHERE column1 = "value";'
Jika Anda menyalin kueri dari lokasi lain, Anda juga harus menghapus komentar apa pun dalam kueri.
Teruskan skrip SQL yang berisi kueri. Contoh berikut menunjukkan cara meneruskan skrip SQL di shell Bash:
bq query --use_legacy_sql=false < query.sql
Untuk mengetahui informasi selengkapnya tentang penggunaan perintah bq query, lihat
Menjalankan kueri.
bq remove-iam-policy-binding
Gunakan perintah bq remove-iam-policy-binding untuk mengambil kebijakan IAM untuk suatu resource dan menghapus binding dari kebijakan, dalam satu langkah.
Aset dapat berupa tabel atau tampilan.
Perintah ini adalah alternatif untuk proses tiga langkah berikut:
- Menggunakan perintah
bq get-iam-policyuntuk mengambil file kebijakan (dalam format JSON). - Mengedit file kebijakan.
- Menggunakan perintah
bq set-iam-policyuntuk memperbarui kebijakan tanpa binding.
Synopsis
bq remove-iam-policy-binding FLAGS --member=MEMBER_TYPE:MEMBER --role=ROLE RESOURCE
Flag dan argumen
Perintah bq remove-iam-policy-binding menggunakan flag dan argumen berikut:
--member=MEMBER_TYPE:MEMBERWajib. Gunakan flag
--memberuntuk menentukan bagian anggota dari binding kebijakan IAM. Flag--memberdiperlukan bersama dengan flag--role. Satu kombinasi flag--memberdan--rolesama dengan satu binding.Nilai
MEMBER_TYPEmenentukan jenis anggota dalam binding kebijakan IAM. Gunakan salah satu nilai berikut:userserviceAccountgroupdomain
Nilai
MEMBERmenentukan alamat email atau domain anggota dalam binding kebijakan IAM.--role=ROLEWajib. Menentukan bagian peran dari binding kebijakan IAM. Flag
--rolediperlukan bersama dengan flag--member. Satu kombinasi flag--memberdan--rolesama dengan satu binding.--table={true|false}atau-t={true|false}Opsional. Untuk menghapus binding dari kebijakan IAM tabel atau tampilan, tetapkan ke
true. Nilai defaultnya adalahfalse.
RESOURCE adalah tabel atau tampilan yang binding kebijakannya
ingin Anda hapus.
Untuk informasi selengkapnya, baca referensi kebijakan IAM.
bq rm
Gunakan perintah bq rm untuk menghapus resource BigQuery.
Synopsis
bq rm [FLAGS] RESOURCE
Flag dan argumen
Perintah bq rm menggunakan flag dan argumen berikut:
--capacity_commitment={false|true}- Untuk menghapus komitmen kapasitas, tetapkan ke
true, tentukan lokasi komitmen yang ingin Anda hapus menggunakan flag--location, lalu gantiRESOURCEdengan flag ID komitmen yang ingin Anda hapus. --dataset={true|false}atau-d={true|false}- Untuk menghapus set data, tetapkan ke
true. Nilai defaultnya adalahfalse. --force={true|false}atau-f={true|false}- Untuk menghapus resource
tanpa perlu konfirmasi, tetapkan ke
true. Nilai defaultnya adalahfalse. --job={true|false}atau-j={true|false}- Untuk menghapus tugas, tetapkan ke true. Nilai defaultnya adalah false.
--model={true|false}atau-m={true|false}- Untuk menghapus model BigQuery ML, tetapkan ke
true. Defaultnya adalahfalse. --recursive={true|false}atau-r{true|false}- Untuk menghapus set data dan tabel, data tabel, atau model
di dalamnya, tetapkan ke
true. Nilai defaultnya adalahfalse. --reservation={true|false}- Untuk menghapus pemesanan, tetapkan ke
true. Nilai defaultnya adalahfalse. --reservation_assignment={true|false}- Untuk menghapus penetapan pemesanan, tetapkan ke
true. Nilai defaultnya adalahfalse. --routine={true|false}- Untuk menghapus rutinitas, tetapkan ke
true. Nilai defaultnya adalahfalse. Rutinitas dapat berupa fungsi yang ditentukan pengguna persisten, fungsi tabel (Pratinjau), atau prosedur tersimpan. --table={true|false}atau-t={true|false}- Untuk menghapus tabel atau tampilan, tetapkan ke
true. Nilai defaultnya adalahfalse. --transfer_config={true|false}- Untuk menghapus konfigurasi transfer, tetapkan ke
true. Nilai defaultnya adalahfalse. RESOURCE- Resource yang ingin Anda hapus.
Untuk informasi selengkapnya tentang penggunaan perintah bq rm, lihat referensi berikut:
- Mengelola set data
- Mengelola tugas
- Mengelola tabel
- Mengelola tampilan
- Menangani transfer
- Menghapus snapshot tabel
bq set-iam-policy
Gunakan perintah bq set-iam-policy untuk menentukan atau memperbarui kebijakan IAM untuk resource. Aset dapat berupa tabel, tampilan, atau
pemesanan slot.
Setelah menyetel kebijakan, kebijakan baru akan
dicetak ke stdout. Kebijakan ini menggunakan format JSON.
Kolom etag dalam kebijakan yang diupdate harus cocok dengan nilai etag
kebijakan saat ini. Jika tidak, update akan gagal. Fitur ini mencegah update
serentak.
Anda dapat memperoleh kebijakan dan nilai etag saat ini untuk resource dengan menggunakan
perintah bq get-iam-policy.
Synopsis
bq set-iam-policy [FLAGS] RESOURCE FILE_NAME
Contoh
bq set-iam-policy myDataset.myTable policy.json
bq set-iam-policy --reservation myReservation policy.json
Flag dan argumen
Perintah bq set-iam-policy menggunakan flag dan
argumen berikut.
--table={true|false}atau-t={true|false}- Opsional. Untuk menetapkan kebijakan IAM tabel atau tampilan, tetapkan ke
true. Nilai defaultnya adalahfalse. --reservation={true|false}- Untuk menetapkan kebijakan IAM pemesanan, tetapkan ke
true(Pratinjau). Nilai defaultnya adalahfalse. Jika tanda ini digunakan,RESOURCEdiperlakukan sebagai ID reservasi. Reservasi dapat memiliki awalan project dan lokasi opsional:myProject:myLocation.myReservation.
RESOURCE adalah tabel atau tampilan yang kebijakannya ingin Anda perbarui.
FILE_NAME adalah nama file yang berisi kebijakan dalam format JSON.
Untuk informasi selengkapnya tentang perintah bq set-iam-policy, lihat
Mengontrol akses ke aset dengan IAM.
bq show
Gunakan perintah bq show untuk menampilkan informasi tentang sebuah resource.
Synopsis
bq show [FLAGS] [RESOURCE]
Flag dan argumen
Perintah bq show menggunakan flag dan argumen berikut:
--assignee_id=ASSIGNEE- Saat digunakan dengan flag
--reservation_assignment, menentukan ID folder, organisasi, atau project. Gunakan flag--assignee_typeuntuk menentukan jenis penerima tugas yang akan ditampilkan. --assignee_type=TYPE- Saat digunakan dengan flag
--reservation_assignment, menentukan jenis entity yang akan ditampilkan. Gunakan salah satu nilai berikut:FOLDERORGANIZATIONPROJECT
--connection={true|false}- Untuk menampilkan informasi tentang koneksi, tetapkan ke
true. Nilai defaultnya adalahfalse. Untuk informasi selengkapnya, lihat Melihat resource koneksi. --dataset={true|false}atau-d={true|false}- Untuk menampilkan informasi tentang set data, tetapkan ke
true. Nilai defaultnya adalahfalse. --encryption_service_account={true|false}- Untuk menampilkan akun layanan enkripsi untuk suatu project, jika ada, atau membuat
akun jika tidak ada, tetapkan ke
true. Nilai defaultnya adalahfalse. Gunakan dengan flag--project_id. --job={true|false}atau-j={true|false}- Untuk menampilkan informasi tentang tugas, tetapkan ke
true. Nilai defaultnya adalahfalse. --job_type=JOB_TYPE- Saat digunakan dengan flag
--reservation_assignment, tentukan jenis tugas penetapan pemesanan yang ingin Anda tampilkan. Gunakan salah satu nilai berikut:QUERYPIPELINEML_EXTERNAL
--model={true|false}atau-m={true|false}- Untuk menampilkan informasi tentang model BigQuery ML, tetapkan ke
true. Nilai defaultnya adalahfalse. --reservation={true|false}- Untuk menampilkan informasi tentang pemesanan, tetapkan ke
true. Nilai defaultnya adalahfalse. --reservation_assignment={true|false}- Saat ditetapkan ke
true, perintah akan menampilkan penetapan pemesanan untuk folder, organisasi, atau project yang ditentukan. Perintah tersebut menampilkan penetapan eksplisit resource target, jika ada; sebaliknya akan menampilkan tugas yang diwarisi dari resource induk. Misalnya, suatu project mungkin mewarisi tugas dari folder induknya. Saat menggunakan flag ini, flag--job_type,--assignee_type, dan--assignee_idakan diterapkan. Nilai defaultnya adalahfalse. --routine={true|false}- Untuk menampilkan informasi tentang rutinitas, setel ke
true. Nilai defaultnya adalahfalse. Rutinitas dapat berupa fungsi yang ditentukan pengguna persisten , fungsi tabel (Pratinjau), atau prosedur tersimpan. --schema={true|false}- Untuk menampilkan skema tabel saja, tetapkan ke
true. Nilai defaultnya adalahfalse. --transfer_config={true|false}- Untuk menampilkan informasi tentang konfigurasi transfer, tetapkan ke
true. Nilai defaultnya adalahfalse. --transfer_run={true|false}- Untuk menampilkan informasi tentang operasi transfer, tetapkan ke
true. Nilai defaultnya adalahfalse. --view={true|false}- Untuk menampilkan informasi tentang tampilan, tetapkan ke
true. Nilai defaultnya adalahfalse. RESOURCE- Resource yang informasinya ingin Anda tampilkan.
Untuk informasi selengkapnya tentang penggunaan perintah bq show, lihat referensi berikut:
- Mendapatkan informasi tentang set data
- Membuat dan menggunakan tabel
- Mendapatkan informasi tentang tabel virtual
- Menangani transfer
- Mengelola tugas
- Mendapatkan informasi tentang snapshot tabel
bq update
Gunakan perintah bq update untuk mengubah resource.
Synopsis
bq update [FLAGS] [RESOURCE]
Flag dan argumen
Perintah bq update menggunakan flag dan argumen berikut:
--add_tags=TAGS- Hanya tersedia di set data dan tabel. Menentukan
tag yang Anda
lampirkan ke resource, yang dipisahkan dengan koma. Contohnya,
556741164180/env:prod,myProject/department:sales. Setiap tag harus memiliki nama kunci dengan namespace dan nama pendek nilai. --autoscale_max_slots=NUMBER_OF_AUTOSCALING_SLOTS- jumlah slot penskalaan otomatis yang ditetapkan untuk pemesanan. Nilai ini sama dengan
nilai ukuran reservasi maksimum dikurangi jumlah slot dasar pengukuran. Hanya
tersedia dengan flag
--reservationdan jika reservasi dibuat dengan edisi. --capacity_commitment={true|false}- Untuk memperbarui komitmen kapasitas, tetapkan ke
true. Gunakan flag ini dengan flag--merge,--plan,--renewal_plan,--split, dan--slots. --clear_all_tags={true|false}- Hanya tersedia di set data dan tabel. Untuk menghapus semua
tag dari
resource, tetapkan ke
true. Nilai defaultnya adalahfalse. --clear_label=KEY:VALUE- Menghapus label dari resource. Gunakan format
KEY:VALUEuntuk menentukan label yang akan dihapus. Ulangi flag ini untuk menghapus beberapa label. --clustering_fields=COLUMNS- Memperbarui spesifikasi pengelompokan tabel. Nilai COLUMNS adalah daftar nama kolom yang dipisahkan koma untuk digunakan dalam pengelompokan. Untuk menghapus pengelompokan, tetapkan
COLUMNS ke
""(string kosong). Untuk mengetahui informasi selengkapnya, lihat Mengubah spesifikasi pengelompokan. --target_job_concurrency=CONCURRENCY- Saat digunakan dengan flag
--reservation, menentukan jumlah target kueri yang dijalankan secara bersamaan. Nilai defaultnya adalah 0, yang berarti konkurensi otomatis ditetapkan berdasarkan ukuran pemesanan. Untuk informasi selengkapnya, lihat Menggunakan antrean kueri. --dataset={true|false}atau-d={true|false}- Untuk memperbarui set data, tetapkan ke
true. Nilai defaultnya adalahfalse. --default_kms_key=KEY- Menentukan ID resource kunci Cloud KMS default untuk mengenkripsi data tabel dalam set data. Kunci default digunakan jika tidak ada kunci eksplisit yang disediakan untuk pembuatan tabel atau kueri.
--default_partition_expiration=SECONDSBilangan bulat yang menentukan waktu habis masa berlaku default, dalam detik, untuk semua partisi dalam tabel yang dipartisi yang baru dibuat dalam set data. Flag ini tidak memiliki nilai minimum.
Waktu habis masa berlaku partisi ditetapkan ke tanggal UTC partisi ditambah nilai bilangan bulat. Jika ditetapkan, properti ini akan mengganti tanggal habis masa berlaku tabel default tingkat set data jika ada. Jika Anda memberikan flag
--time_partitioning_expirationsaat membuat atau mengupdate tabel yang dipartisi, masa berlaku partisi tingkat tabel akan lebih diutamakan daripada akhir masa berlaku partisi default tingkat set data. Tentukan0untuk menghapus masa berlaku yang ada.--default_table_expiration=SECONDSBilangan bulat yang memperbarui masa aktif default, dalam detik, untuk tabel yang baru dibuat dalam set data. Waktu habis masa berlaku ditetapkan ke waktu UTC saat ini ditambah nilai ini. Tentukan
0untuk menghapus masa berlaku yang ada.--description=DESCRIPTIONMemperbarui deskripsi set data, tabel, snapshot tabel, model, atau tampilan.
--destination_reservation_id=RESERVATION_IDSaat digunakan dengan flag
--reservation_assignment, akan memindahkan penetapan reservasi yang ada ke reservasi yang ditentukan. Nilainya adalah ID pemesanan tujuan. Untuk informasi selengkapnya, lihat Memindahkan tugas ke pemesanan lain.--display_name=DISPLAY_NAMEMemperbarui nama tampilan untuk konfigurasi transfer.
--etag=ETAGBerfungsi sebagai filter; akan mengupdate resource hanya jika resource memiliki ETag yang cocok dengan string yang ditentukan dalam argumen
ETAG.--expiration SECONDSUntuk memperbarui masa berlaku tabel, model, snapshot tabel, atau tampilan, sertakan flag ini. Ganti
SECONDSdengan jumlah detik dari waktu update hingga waktu habis masa berlaku. Untuk menghapus masa berlaku tabel, model, snapshot tabel, atau tampilan, tetapkan argumenSECONDSke 0.--external_table_definition={TABLE::PATH_TO_FILE|TABLE::DEFINITION}Memperbarui tabel eksternal dengan definisi tabel yang ditentukan. Definisi tabel dapat berupa jalur ke file definisi tabel JSON lokal atau definisi tabel inline dalam format
SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URI. NilaiSCHEMAadalah daftar yang dipisahkan koma dari definisi kolom dalam bentukFIELD:DATA_TYPE, FIELD:DATA_TYPE. Jika Anda menggunakan file definisi tabel, jangan tambahkan ekstensi ke nama file.Contoh:
--external_table_definition=myTable::/tmp/tabledef
--external_table_definition=myTable::Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv
--ignore_idle_slots={true|false}Gunakan dengan flag
--reservation. Untuk membatasi tugas yang berjalan di pemesanan tertentu agar hanya menggunakan slot yang dialokasikan ke pemesanan tersebut, tetapkan ketrue. Nilai defaultnya adalahfalse; tugas di pemesanan yang ditentukan dapat menggunakan slot tidak ada aktivitas dari pemesanan lain, atau slot yang tidak dialokasikan ke pemesanan mana pun. Untuk informasi selengkapnya, lihat Slot tidak ada aktivitas.--max_staleness=INTERVALMenentukan nilai INTERVAL yang menentukan keusangan maksimum yang diizinkan saat membuat kueri tampilan yang di-materialisasi atau tabel eksternal. Nilai defaultnya adalah
0-0 0 0:0:0.Contoh:
- 1 hari:
0-0 1 0:0:0 - 1 jam:
0-0 0 1:0:0
Untuk menggunakan flag ini, Anda harus menentukan definisi tabel dengan flag
--external_table_definition.- 1 hari:
--max_time_travel_hours=HOURSMenentukan durasi dalam jam periode perjalanan waktu untuk set data. Nilai
--max_time_travel_hoursharus berupa bilangan bulat yang dinyatakan dalam kelipatan 24 (48, 72, 96, 120, 144, 168) antara 48 (2 hari) dan 168 (7 hari).--merge={true|false}Untuk menggabungkan dua komitmen kapasitas, tetapkan
--mergeketrue. Tetapkan flag--capacity_commitmentketrue, tentukan lokasi komitmen yang ingin Anda gabungkan menggunakan flag--location, dan gantiRESOURCEdengan ID dari dua komitmen yang ingin Anda gabungkan, dipisahkan dengan koma. Untuk informasi selengkapnya, lihat Menggabungkan dua komitmen.--metadata_cache_mode=METADATA_CACHE_MODEMengaktifkan cache metadata untuk tabel eksternal dengan koneksi. Gunakan salah satu nilai berikut:
AUTOMATICMANUAL
Tentukan
AUTOMATICuntuk otomatis memuat ulang metadata yang di-cache. TentukanMANUALuntuk menghentikan muat ulang otomatis. Untuk menggunakan flag ini, Anda harus menentukan definisi tabel dengan flag--external_table_definition.--model={true|false}atau-m={true|false}Untuk menampilkan informasi tentang model BigQuery ML, tetapkan ke
true. Nilai defaultnya adalahfalse.--params={"PARAMETER":"VALUE"} or -p={"PARAMETER":"VALUE"}Memperbarui parameter untuk konfigurasi transfer. Parameter ini bervariasi, tergantung pada sumber data. Untuk informasi selengkapnya, lihat Pengantar BigQuery Data Transfer Service.
--plan=PLANSaat digunakan dengan flag
--capacity_commitment, konversikan komitmen kapasitas ke paket komitmen berdurasi lebih lama. GantiPLANdengan salah satu dari yang berikut ini:ANNUALTHREE_YEAR
--refresh_window_days=DAYSBilangan bulat yang menentukan periode refresh yang diperbarui (dalam hari) untuk konfigurasi transfer.
--remove_tags=TAG_KEYSHanya tersedia di set data dan tabel. Menentukan tag yang Anda hapus dari resource, dipisahkan dengan koma—misalnya,
556741164180/env,myProject/department. Setiap kunci tag harus memiliki nama kunci dengan namespace.--renewal_plan=PLANSaat digunakan dengan flag
--capacity_commitment, memperbarui paket perpanjangan untuk komitmen kapasitas tahunan. GantiPLANdengan salah satu dari yang berikut ini:ANNUALTHREE_YEARNONE
Pelanggan yang menggunakan harga tetap sebelumnya juga dapat menggunakan salah satu nilai berikut:
FLEXMONTHLYANNUAL
--reservation={true|false}Menentukan apakah pemesanan akan diperbarui. Nilai defaultnya adalah
false.--reservation_assignment={true|false}Menentukan apakah akan memperbarui penetapan pemesanan. Nilai defaultnya adalah
false.--schema={SCHEMA_FILE|SCHEMA}Menentukan jalur ke file skema JSON lokal atau daftar definisi kolom yang dipisahkan koma dalam bentuk
FIELD:DATA_TYPE, FIELD:DATA_TYPE. Jika Anda menggunakan file skema, jangan tambahkan ekstensi ke nama file.Contoh:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
--service_account_name=SERVICE_ACCOUNTMenentukan akun layanan yang akan digunakan sebagai kredensial untuk konfigurasi transfer.
--set_label=KEY:VALUEMenentukan label yang akan diperbarui. Untuk memperbarui beberapa label, ulangi flag ini.
--slots=NUMBER_OF_BASELINE_SLOTSSaat digunakan dengan flag
--capacity_commitmentdan--split, menentukan jumlah slot dasar yang akan dipisahkan dari komitmen kapasitas yang ada ke komitmen baru. GantiRESOURCEdengan ID komitmen yang ingin Anda pisahkan.Saat digunakan dengan flag
--reservation, akan memperbarui jumlah slot dalam pemesanan.--source=FILEJalur ke file JSON lokal yang berisi payload yang digunakan untuk mengupdate resource. Misalnya, Anda dapat menggunakan flag ini untuk menentukan file JSON yang berisi resource set data dengan properti
accessyang diperbarui. File tersebut digunakan untuk menimpa kontrol akses set data. File JSON tidak boleh menyertakan flag urutan byte (BOM).--split={true|false}Jika ditetapkan ke
truedan digunakan dengan flag--capacity_commitment, menentukan bahwa Anda ingin membagi komitmen kapasitas yang ada. Gunakan flag--locationuntuk menentukan lokasi komitmen yang ingin Anda pisahkan, dan gunakan flag--slotsuntuk menentukan jumlah slot yang ingin dipisahkan. GantiRESOURCEdengan ID komitmen yang ingin Anda pisahkan. Untuk informasi lebih lanjut, lihat Memisahkan komitmen.--storage_billing_model=BILLING_MODELMenentukan model penagihan penyimpanan untuk set data. Tetapkan nilai
--storage_billing_modelkePHYSICALuntuk menggunakan byte fisik saat menghitung biaya penyimpanan, atau keLOGICALuntuk menggunakan byte logis.Jika Anda mengubah model penagihan set data, perlu waktu 24 jam agar perubahan diterapkan.
Setelah mengubah model penagihan penyimpanan set data, Anda harus menunggu 14 hari sebelum dapat mengubah model penagihan penyimpanan lagi.
--table={true|false}atau-t={true|false}Menentukan apakah akan mengupdate tabel atau tidak. Nilai defaultnya adalah
false.--target_dataset=DATASETJika ditentukan, set data target akan diperbarui untuk konfigurasi transfer.
--time_partitioning_expiration=SECONDSBilangan bulat yang akan diperbarui (dalam detik) saat partisi berbasis waktu harus dihapus. Waktu habis masa berlaku dievaluasi terhadap tanggal UTC partisi ditambah nilai bilangan bulat. Angka negatif menunjukkan tidak ada masa berlaku.
--time_partitioning_field=COLUMN_NAMEMemperbarui kolom yang digunakan untuk menentukan cara membuat partisi berbasis waktu. Jika partisi berbasis waktu diaktifkan tanpa nilai ini, tabel akan dipartisi berdasarkan waktu pemuatan.
--time_partitioning_type=INTERVALMenentukan jenis partisi. Gunakan salah satu nilai berikut:
DAYHOURMONTHYEAR
Anda tidak dapat mengubah jenis partisi tabel yang sudah ada.
--transfer_config={true|false}Menentukan apakah konfigurasi transfer akan diperbarui atau tidak. Nilai defaultnya adalah
false.--update_credentials={true|false}Menentukan apakah kredensial konfigurasi transfer akan diperbarui. Nilai defaultnya adalah
false.--use_legacy_sql={true|false}Menetapkan ke
falseuntuk memperbarui kueri SQL untuk tampilan dari legacy SQL ke GoogleSQL. Nilai default ditentukan oleh setelan konfigurasi Anda. Jika setelan konfigurasi tidak ditentukan, nilai defaultnya adalahtrue; kueri menggunakan legacy SQL.--vertex_ai_model_id=VERTEX_AI_MODEL_IDJika ditentukan, akan memperbarui ID model untuk model BigQuery ML yang terdaftar di Vertex AI Model Registry.
--view=QUERYJika ditentukan, akan memperbarui kueri SQL untuk tampilan.
--view_udf_resource=FILEMengupdate URI Cloud Storage atau jalur ke file kode lokal yang dimuat dan dievaluasi segera sebagai resource fungsi yang ditentukan pengguna dalam kueri SQL tampilan. Ulangi flag ini untuk menentukan beberapa file.
RESOURCEResource yang ingin diperbarui.
Untuk informasi selengkapnya tentang penggunaan perintah bq update, lihat referensi berikut:
- Memperbarui properti set data
- Mengelola tabel
- Memperbarui tampilan
- Memperbarui label
- Menangani transfer
- Memperbarui metadata snapshot tabel
bq version
Gunakan perintah bq version untuk menampilkan nomor versi alat command line bq Anda.
Synopsis
bq version
bq wait
Gunakan perintah bq wait untuk menunggu selama sekian detik hingga tugas
selesai. Jika tugas tidak ditentukan, perintah akan menunggu tugas
saat ini hingga selesai.
Synopsis
bq wait [FLAGS] [JOB] [SECONDS]
Contoh
bq wait
bq wait --wait_for_status=RUNNING 12345 100
Flag dan argumen
Perintah bq wait menggunakan flag dan argumen berikut:
--fail_on_error={true|false}- Untuk menampilkan keberhasilan jika tugas selesai selama waktu tunggu, meskipun tugas
gagal, tetapkan ke
false. Nilai defaultnya adalahtrue; setelah waktu tunggu berlalu, perintah akan keluar dengan error jika tugas masih berjalan, atau jika tugas selesai tetapi gagal. --wait_for_status=STATUSJika ditentukan, menunggu status tugas tertentu sebelum keluar. Gunakan salah satu nilai berikut:
PENDINGRUNNINGDONE
Nilai defaultnya adalah
DONE.JOBMenentukan tugas yang akan ditunggu. Anda dapat menggunakan perintah
bq ls --jobs myProjectuntuk menemukan ID tugas.SECONDSMenentukan jumlah detik maksimum yang diperlukan hingga tugas selesai. Jika Anda memasukkan
0, perintah akan melakukan polling untuk penyelesaian tugas dan segera ditampilkan. Jika Anda tidak menentukan nilai bilangan bulat, perintah akan menunggu hingga tugas selesai.