Memuat dan meng-kueri data dengan alat bq

Pelajari cara membuat set data, memuat data sampel, dan meng-kueri tabel dengan alat command line bq.


Untuk mengikuti panduan langkah demi langkah tugas ini langsung di Google Cloud konsol, klik Pandu saya:

Pandu saya


Sebelum memulai

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  4. Verify that billing is enabled for your Google Cloud project.

  5. Jika Anda tidak mengaktifkan penagihan untuk Google Cloud project yang digunakan dalam tutorial ini, Anda akan memuat dan mengkueri data di sandbox BigQuery. Sandbox BigQuery memungkinkan Anda mempelajari BigQuery dengan sekumpulan fitur BigQuery terbatas tanpa biaya.

  6. Pastikan BigQuery API diaktifkan.

    Mengaktifkan API

    Jika Anda membuat project baru, BigQuery API akan otomatis diaktifkan.

  7. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  8. Download file yang berisi data sumber

    File yang Anda download berukuran sekitar 7 MB yang berisi data tentang nama bayi populer. Ini disediakan oleh Administrasi Jaminan Sosial AS.

    Untuk mengetahui informasi selengkapnya tentang data, lihat Informasi latar belakang untuk nama populer dari Administrasi Jaminan Sosial.

    1. Download data Administrasi Jaminan Sosial AS dengan membuka URL berikut di tab browser baru:

      https://www.ssa.gov/OACT/babynames/names.zip
      
    2. Ekstrak file.

      Untuk mengetahui informasi selengkapnya tentang skema set data, lihat file NationalReadMe.pdf yang Anda ekstrak.

    3. Untuk melihat tampilan data tersebut, buka file yob2024.txt. File ini berisi nilai yang dipisahkan koma untuk nama, jenis kelamin yang ditetapkan saat lahir, dan jumlah anak dengan nama tersebut. File tidak memiliki baris header.

    4. Pindahkan file ke direktori kerja Anda.

      • Jika Anda menggunakan Cloud Shell, klik Lainnya Upload, klik Pilih File, pilih file yob2024.txt, lalu klik Upload.

      • Jika Anda bekerja di shell lokal, salin atau pindahkan file yob2024.txt ke direktori tempat Anda menjalankan alat bq.

    Membuat set data

    1. Jika Anda meluncurkan Cloud Shell dari dokumentasi, masukkan perintah berikut untuk menetapkan project ID Anda. Tindakan ini mencegah Anda harus menentukan project ID di setiap perintah CLI.

      gcloud config set project PROJECT_ID
      

      Ganti PROJECT_ID dengan project ID Anda.

    2. Masukkan perintah berikut untuk membuat set data bernama babynames:

      bq mk --dataset babynames
      

      Outputnya mirip dengan hal berikut ini:

      Dataset 'babynames' successfully created.
      
    3. Pastikan set data babynames sekarang muncul di project Anda:

      bq ls --datasets=true
      

      Output akan mirip dengan yang berikut ini:

        datasetId
      -------------
        babynames
      

    Memuat data ke dalam tabel

    1. Di set data babynames, muat file sumber yob2024.txt ke tabel baru bernama names2024:

      bq load babynames.names2024 yob2024.txt name:string,assigned_sex_at_birth:string,count:integer
      

      Outputnya mirip dengan hal berikut ini:

      Upload complete.
      Waiting on bqjob_r3c045d7cbe5ca6d2_0000018292f0815f_1 ... (1s) Current status: DONE
      
    2. Pastikan tabel names2024 sekarang muncul dalam set data babynames:

      bq ls --format=pretty babynames
      

      Outputnya mirip dengan yang berikut ini. Beberapa kolom dihilangkan untuk menyederhanakan output.

      +-----------+-------+
      |  tableId  | Type  |
      +-----------+-------+
      | names2024 | TABLE |
      +-----------+-------+
      
    3. Konfirmasi bahwa skema tabel names2024 baru Anda adalah name: string, assigned_sex_at_birth: string, dan count: integer:

      bq show babynames.names2024
      

      Outputnya mirip dengan yang berikut ini. Beberapa kolom dihilangkan untuk menyederhanakan output.

        Last modified        Schema                      Total Rows   Total Bytes
      ----------------- ------------------------------- ------------ ------------
      14 Mar 17:16:45   |- name: string                    31904       607494
                        |- assigned_sex_at_birth: string
                        |- count: integer
      

    Meng-kueri data tabel

    1. Tentukan nama anak perempuan paling populer dalam data:

      bq query \
          'SELECT
            name,
            count
          FROM
            babynames.names2024
          WHERE
            assigned_sex_at_birth = "F"
          ORDER BY
            count DESC
          LIMIT 5'
      

      Output akan mirip dengan yang berikut ini:

      +-----------+-------+
      |   name    | count |
      +-----------+-------+
      | Olivia    | 14718 |
      | Emma      | 13485 |
      | Amelia    | 12740 |
      | Charlotte | 12552 |
      | Mia       | 12113 |
      +-----------+-------+
      
    2. Tentukan nama anak laki-laki yang paling tidak populer dalam data:

      bq query \
          'SELECT
            name,
            count
          FROM
            babynames.names2024
          WHERE
            assigned_sex_at_birth = "M"
          ORDER BY
            count ASC
          LIMIT 5'
      

      Output akan mirip dengan yang berikut ini:

      +---------+-------+
      |  name   | count |
      +---------+-------+
      | Aaran   |     5 |
      | Aadiv   |     5 |
      | Aadarsh |     5 |
      | Aarash  |     5 |
      | Aadrik  |     5 |
      +---------+-------+
      

      Jumlah minimumnya adalah 5 karena data sumber menghilangkan nama yang memiliki kurang dari 5 kemunculan.

    Pembersihan

    Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan di halaman ini, hapus project Google Cloud yang berisi resource tersebut.

    Menghapus project

    Jika Anda menggunakan sandbox BigQuery untuk mengkueri set data publik, penagihan tidak akan diaktifkan untuk project Anda, dan Anda tidak perlu menghapus project.

    Cara termudah untuk menghilangkan penagihan adalah dengan menghapus project yang Anda buat untuk tutorial.

    Untuk menghapus project:

    1. In the Google Cloud console, go to the Manage resources page.

      Go to Manage resources

    2. In the project list, select the project that you want to delete, and then click Delete.
    3. In the dialog, type the project ID, and then click Shut down to delete the project.

    Menghapus resource

    Jika Anda menggunakan project yang ada, hapus resource yang dibuat:

    1. Hapus set data babynames:

      bq rm --recursive=true babynames
      

      Flag --recursive akan menghapus semua tabel dalam set data, termasuk tabel names2024.

      Output akan mirip dengan yang berikut ini:

      rm: remove dataset 'myproject:babynames'? (y/N)
      
    2. Untuk mengonfirmasi perintah hapus, masukkan y.

    Langkah berikutnya