Mernjelajahi alat command line bq

Alat command line bq adalah alat command line berbasis Python untuk BigQuery. Halaman ini berisi informasi umum tentang penggunaan alat command line bq.

Untuk referensi lengkap tentang semua perintah dan flag bq, lihat referensi alat command line bq.

Sebelum memulai

Sebelum dapat menggunakan alat command line bq, Anda harus menggunakan konsol Trusted Cloud untuk membuat atau memilih project.

  1. In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.

    Go to project selector

  2. BigQuery secara otomatis diaktifkan dalam project baru. Untuk mengaktifkan BigQuery di project yang sudah ada, buka

    Enable the BigQuery API.

    Enable the API

  3. Opsional: Aktifkan penagihan untuk project. Jika Anda tidak ingin mengaktifkan penagihan atau memberikan kartu kredit, langkah-langkah dalam dokumen ini tetap berfungsi. BigQuery menyediakan sandbox untuk melakukan langkah-langkah tersebut. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan sandbox BigQuery.
  4. Memasukkan perintah bq di Cloud Shell

    Anda dapat memasukkan perintah alat command line bq di Cloud Shell baik dari konsol Trusted Cloud maupun dari Google Cloud CLI.

    Memosisikan flag dan argumen

    Alat command line bq mendukung dua jenis flag:

    • Flag global dapat digunakan di semua perintah.
    • Flag khusus perintah diterapkan untuk perintah tertentu.

    Untuk daftar flag global dan flag khusus perintah yang tersedia, lihat referensi alat command line bq.

    Tempatkan flag global sebelum perintah bq, lalu sertakan flag khusus perintah. Anda dapat menyertakan beberapa flag global atau flag khusus perintah. Contoh:

    bq --location=us mk --reservation --project_id=project reservation_name
    

    Anda dapat menentukan argumen perintah dengan cara berikut:

    • --FLAG ARGUMENT (seperti yang ditunjukkan pada contoh sebelumnya)
    • --FLAG=ARGUMENT
    • --FLAG='ARGUMENT'
    • --FLAG="ARGUMENT"
    • --FLAG 'ARGUMENT'
    • --FLAG "ARGUMENT"

    Ganti kode berikut:

    • FLAG: flag global atau flag khusus perintah
    • ARGUMENT: argumen flag

    Beberapa perintah memerlukan penggunaan tanda kutip tunggal atau ganda pada argumen. Hal ini sering kali berlaku jika argumen berisi spasi, koma, atau karakter khusus lainnya. Contoh:

    bq query --nouse_legacy_sql \
    'SELECT
       COUNT(*)
     FROM
       `bigquery-public-data`.samples.shakespeare'

    Flag dengan nilai boolean dapat ditentukan tanpa argumen. Jika menentukan true atau false, Anda harus menggunakan format FLAG=ARGUMENT.

    Misalnya, perintah ini menetapkan salah untuk flag boolean --use_legacy_sql dengan menempatkan no di depan flag:

    bq query --nouse_legacy_sql \
    'SELECT
       COUNT(*)
     FROM
       `bigquery-public-data`.samples.shakespeare'

    Sebagai alternatif, untuk menentukan false sebagai argumen flag, Anda dapat memasukkan string berikut:

    bq query --use_legacy_sql=false \
    'SELECT
       COUNT(*)
     FROM
       `bigquery-public-data`.samples.shakespeare'

    Menjalankan kueri dari alat command line bq

    Untuk mengambil kueri yang telah Anda kembangkan di konsol Trusted Cloud dan menjalankannya dari alat command line bq, lakukan hal berikut:

    1. Sertakan kueri dalam perintah bq query sebagai berikut: bq query --use_legacy_sql=false 'QUERY'. Ganti QUERY dengan kueri.

    2. Format string kueri.

      Jika perlu menggunakan literal string tambahan dalam kueri, Anda harus mengikuti aturan tanda kutip untuk shell yang Anda gunakan, seperti Bash atau PowerShell.

      Contoh berikut menunjukkan pendekatan standar di Bash, yaitu menggunakan tanda kutip ganda untuk menunjukkan literal string dalam kueri, lalu menyisipkan kueri itu sendiri dalam tanda kutip tunggal:

      'SELECT * FROM mydataset.mytable WHERE column1 = "value";'
      

      Jika menyalin kueri dari lokasi lain, Anda juga harus menghapus komentar apa pun dalam kueri.

      Misalnya, ubah kueri konsol Trusted Cloud berikut:

      -- count Shakespeare's use of the string "raisin"
      SELECT
        word,
        SUM(word_count) AS count
      FROM
        `bigquery-public-data`.samples.shakespeare
      WHERE
        word LIKE '%raisin%'
      GROUP BY
        word
      

      menjadi kueri alat command line bq sebagai berikut:

      bq query --use_legacy_sql=false \
      'SELECT
        word,
        SUM(word_count) AS count
      FROM
        `bigquery-public-data`.samples.shakespeare
      WHERE
        word LIKE "%raisin%"
      GROUP BY
        word'
      

    Untuk mengetahui informasi selengkapnya, lihat Menjalankan tugas kueri batch dan interaktif.

    Mendapatkan bantuan

    Untuk mendapatkan bantuan terkait alat command line bq, Anda dapat memasukkan perintah berikut:

    • Untuk mengetahui versi alat command line bq yang diinstal, masukkan bq version.
    • Untuk mengetahui daftar lengkap perintah, masukkan bq help.
    • Untuk mengetahui daftar flag global, masukkan bq --help.
    • Untuk mendapatkan bantuan terkait perintah tertentu, masukkan bq help COMMAND.
    • Untuk mendapatkan bantuan terkait perintah tertentu dan mengetahui daftar flag global, masukkan bq COMMAND --help.

    Ganti COMMAND dengan perintah yang memerlukan bantuan.

    Menetapkan nilai default untuk flag command line

    Anda dapat menetapkan nilai default untuk flag command line dengan menyertakannya dalam file konfigurasi alat command line bq, .bigqueryrc. Sebelum mengonfigurasi opsi default, Anda harus membuat file .bigqueryrc terlebih dahulu. Anda dapat menggunakan editor teks pilihan untuk membuat file. Setelah membuat file .bigqueryrc, Anda dapat menentukan jalur ke file tersebut menggunakan flag global --bigqueryrc.

    Jika flag --bigqueryrc tidak ditentukan, variabel lingkungan BIGQUERYRC akan digunakan. Jika tidak ditentukan, jalur ~/.bigqueryrc akan digunakan. Jalur default-nya adalah $HOME/.bigqueryrc.

    Menambahkan flag ke .bigqueryrc

    Untuk menambahkan nilai default untuk flag command line ke .bigqueryrc:

    • Tempatkan flag global di bagian atas file tanpa header.
    • Untuk flag khusus perintah, masukkan nama perintah (dalam tanda kurung) dan tambahkan flag khusus perintah (satu per baris) setelah nama perintah.

    Contoh:

    --apilog=stdout
    --format=prettyjson
    --location=US
    
    [query]
    --use_legacy_sql=false
    --max_rows=100
    --maximum_bytes_billed=10000000
    
    [load]
    --destination_kms_key=projects/myproject/locations/mylocation/keyRings/myRing/cryptoKeys/myKey

    Contoh sebelumnya menetapkan nilai default untuk flag berikut:

    • Flag global --apilog ditetapkan ke stdout untuk mencetak output proses debug ke konsolTrusted Cloud .
    • Flag global --format ditetapkan ke prettyjson untuk menampilkan output perintah dalam format JSON yang dapat dibaca manusia.
    • Flag global --location ditetapkan ke lokasi multi-region US.
    • Flag khusus perintah query --use_legacy_sql ditetapkan ke false untuk menjadikan GoogleSQL sebagai sintaksis kueri default.

    • Flag khusus perintah query --max_rows ditetapkan ke 100 untuk mengontrol jumlah baris dalam output kueri.

    • Flag khusus perintah query --maximum_bytes_billed ditetapkan ke 10.000.000 byte (10 MB) untuk menggagalkan kueri yang membaca lebih dari 10 MB data.

    • Flag khusus perintah load --destination_kms_key ditetapkan ke projects/myproject/locations/mylocation/keyRings/myRing/cryptoKeys/myKey.

    Menjalankan alat command line bq dalam shell interaktif

    Anda dapat menjalankan alat command line bq di shell interaktif tanpa perlu memberi awalan pada perintah dengan bq. Untuk memulai mode interaktif, masukkan bq shell. Setelah meluncurkan shell, perintah akan berubah menjadi ID project default Anda. Untuk keluar dari mode interaktif, masuk ke exit.

    Menjalankan alat command line bq dalam skrip

    Anda dapat menjalankan alat command line bq dalam skrip, seperti menjalankan perintah Google Cloud CLI. Berikut adalah contoh perintah gcloud dan bq dalam skrip bash:

    #!/bin/bash
    gcloud config set project myProject
    bq query --use_legacy_sql=false --destination_table=myDataset.myTable \
    'SELECT
       word,
       SUM(word_count) AS count
     FROM
       `bigquery-public-data`.samples.shakespeare
     WHERE
       word LIKE "%raisin%"
     GROUP BY
       word'
    

    Menjalankan perintah bq dari akun layanan

    Anda dapat menggunakan akun layanan untuk melakukan panggilan API yang diotorisasi atau menjalankan tugas kueri atas nama Anda. Untuk menggunakan akun layanan di alat command line bq, izinkan akses ke Trusted Cloud by S3NS dari akun layanan. Untuk mengetahui informasi selengkapnya, lihat gcloud auth activate-service-account.

    Untuk mulai menjalankan perintah bq menggunakan peniruan akun layanan, jalankan perintah berikut:

    gcloud config set auth/impersonate_service_account SERVICE_ACCOUNT_NAME

    Ganti SERVICE_ACCOUNT_NAME dengan nama akun layanan Anda.

    Perintah bq yang Anda jalankan kini menggunakan kredensial akun layanan.

    Untuk berhenti menjalankan perintah bq dari akun layanan, jalankan perintah berikut:

    gcloud config unset auth/impersonate_service_account

    Contoh

    Anda dapat menemukan contoh command line di seluruh bagian Panduan cara kerja dalam dokumentasi BigQuery. Bagian ini mencantumkan link ke tugas command line yang umum seperti membuat, mendapatkan, mencantumkan, menghapus, dan mengubah resource BigQuery.

    Membuat resource

    Untuk mengetahui informasi tentang penggunaan alat command line bq guna membuat resource, lihat hal berikut:

    Untuk contoh pembuatan tabel menggunakan file data, lihat Memuat data.

    Mendapatkan informasi tentang resource

    Untuk informasi tentang penggunaan alat command line bq untuk mendapatkan informasi tentang resource, lihat artikel berikut:

    Mencantumkan resource

    Untuk mengetahui informasi tentang penggunaan alat command line bq dalam mencantumkan resource, lihat artikel berikut:

    Mencantumkan tugas

    Untuk mengetahui informasi tentang penggunaan alat command line bq untuk mencantumkan tugas, lihat artikel berikut:

    Memperbarui resource

    Untuk mengetahui informasi tentang penggunaan alat command line bq untuk memperbarui resource, lihat artikel berikut:

    Memuat data

    Untuk mengetahui informasi tentang penggunaan alat command line bq untuk memuat data, lihat artikel berikut:

    Membuat kueri data

    Untuk mengetahui informasi tentang penggunaan alat command line bq untuk membuat kueri data, lihat artikel berikut:

    Menggunakan sumber data eksternal

    Untuk mengetahui informasi tentang penggunaan alat command line bq untuk membuat kueri data dalam sumber data eksternal, lihat artikel berikut:

    Mengekspor data

    Untuk mengetahui informasi tentang penggunaan alat command line bq untuk mengekspor data, lihat artikel berikut:

    Menggunakan BigQuery Data Transfer Service

    Untuk mengetahui informasi tentang penggunaan alat command line bq dengan BigQuery Data Transfer Service, lihat artikel berikut:

    Memecahkan masalah alat command line bq

    Bagian ini menunjukkan cara menyelesaikan masalah pada alat command line bq.

    Memastikan gcloud CLI Anda selalu terbaru

    Jika menggunakan alat command line bq dari Google Cloud CLI, pastikan Anda memiliki fungsi dan perbaikan terbaru untuk alat command line bq dengan memastikan penginstalan gcloud CLI Anda selalu terbaru. Untuk mengetahui apakah Anda menjalankan gcloud CLI versi terbaru, masukkan perintah berikut di Cloud Shell:

    gcloud components list
    

    Dua baris pertama output menampilkan nomor versi penginstalan gcloud CLI saat ini dan nomor versi gcloud CLI terbaru. Jika menemukan bahwa versi Anda sudah usang, Anda dapat mengupdate penginstalan gcloud CLI ke versi terbaru dengan memasukkan perintah berikut di Cloud Shell:

    gcloud components update
    

    Proses Debug

    Anda dapat memasukkan perintah berikut untuk melakukan debug pada alat command line bq:

    • Lihat permintaan yang dikirim dan diterima. Tambahkan flag --apilog=PATH_TO_FILE untuk menyimpan log operasi ke file lokal. Ganti PATH_TO_FILE dengan jalur tempat Anda ingin menyimpan log. Alat command line bq berfungsi dengan melakukan panggilan API berbasis REST standar, yang dapat berguna untuk dilihat. Anda juga dapat melampirkan log ini saat melaporkan masalah. Menggunakan - atau stdout, alih-alih jalur, akan mencetak log ke konsol Trusted Cloud . Menyetel --apilog ke stderr akan menghasilkan file error standar. Untuk mencatat permintaan lainnya, gunakan flag --httplib2_debuglevel=LOG_LEVEL. LOG_LEVEL yang lebih tinggi mencatat informasi selengkapnya tentang permintaan http.

    • Memecahkan error. Masukkan flag --format=prettyjson saat mendapatkan status tugas atau saat melihat informasi mendetail tentang resource seperti tabel dan set data. Penggunaan flag ini menghasilkan respons dalam format JSON, termasuk properti reason. Anda dapat menggunakan properti reason untuk mencari langkah-langkah pemecahan masalah. Untuk mengetahui informasi selengkapnya tentang error selama eksekusi, gunakan flag --debug_mode.