Mengelola data tabel
Dokumen ini menjelaskan cara mengelola data tabel di BigQuery. Anda dapat menggunakan data tabel BigQuery dengan cara berikut:
- Memuat data ke dalam tabel
- Menambahkan atau menimpa data tabel
- Menjelajahi (atau melihat pratinjau) data tabel
- Membuat kueri data tabel
- Mengubah data tabel menggunakan bahasa pengolahan data (DML)
- Menyalin data tabel
- Mengekspor data tabel
Untuk mengetahui informasi tentang cara mengelola skema tabel, lihat Mengubah skema tabel.
Sebelum memulai
Berikan peran yang memberikan izin yang diperlukan kepada pengguna yang perlu melakukan setiap tugas dalam dokumen ini. Izin yang diperlukan (jika ada) untuk melakukan tugas tercantum di bagian "Izin yang diperlukan" untuk tugas tersebut.
Memuat data ke tabel
Anda dapat memuat data saat membuat tabel, atau Anda dapat membuat tabel kosong dan memuat data nanti. Saat memuat data, Anda dapat menggunakan deteksi otomatis skema untuk format data yang didukung, atau Anda dapat menentukan skema.
Untuk informasi selengkapnya tentang pemuatan data, lihat dokumentasi untuk format dan lokasi data sumber Anda:
Untuk informasi selengkapnya tentang pemuatan data dari Cloud Storage, lihat:
Untuk informasi selengkapnya tentang pemuatan data dari sumber lokal, lihat Memuat data dari file lokal.
Menambahkan ke dan menimpa data tabel
Anda dapat menimpa data tabel menggunakan operasi kueri atau pemuatan. Anda dapat menambahkan data lain ke tabel yang ada dengan melakukan operasi penambahan muatan atau dengan menambahkan hasil kueri ke tabel.
Untuk informasi selengkapnya tentang cara menambahkan atau menimpa tabel saat memuat data, lihat dokumentasi untuk format data sumber Anda:
- Menambah atau menimpa tabel dengan data Avro
- Menambah atau menimpa tabel dengan data CSV
- Menambah atau menimpa tabel dengan data JSON
- Menambah atau menimpa tabel dengan data Parquet
- Menambah atau menimpa tabel dengan data ORC
- Menambah atau menimpa tabel dengan data Datastore
Untuk menambah atau menimpa tabel menggunakan hasil kueri, tentukan tabel tujuan dan tetapkan disposisi tulis ke:
- Menambah tabel — Menambahkan hasil kueri ke tabel yang ada.
- Menimpa tabel — Menimpa tabel yang ada dengan nama yang sama menggunakan hasil kueri.
Anda dapat menggunakan kueri berikut untuk menambahkan data dari satu tabel ke tabel lainnya:
INSERT INTO <projectID>.<datasetID>.<table1> ( <column2>, <column3>) (SELECT * FROM <projectID>.<datasetID>.<table2>)
Untuk informasi selengkapnya tentang penggunaan hasil kueri untuk menambah atau menimpa data, lihat Menulis hasil kueri.
Menjelajahi data tabel
Anda dapat menjelajahi data tabel dengan:
- Menggunakan konsol Google Cloud
- Menggunakan perintah
bq head
alat command line bq - Memanggil metode
API
tabledata.list
- Menggunakan library klien
Izin yang diperlukan
Untuk menjelajahi data tabel dan partisi, Anda memerlukan izin Identity and Access Management (IAM) bigquery.tables.getData
.
Setiap peran IAM yang telah ditetapkan berikut menyertakan izin yang diperlukan untuk menjelajahi data tabel dan partisi:
roles/bigquery.dataViewer
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.admin
Jika memiliki izin bigquery.datasets.create
, Anda dapat menjelajahi data dalam tabel dan partisi dari set data yang Anda buat.
Untuk mengetahui informasi lebih lanjut tentang peran dan izin IAM di BigQuery, lihat Peran dan izin yang telah ditetapkan.
Menjelajahi data tabel
Untuk menjelajahi data tabel:
Konsol
Di konsol Google Cloud, buka halaman BigQuery.
Di panel Explorer, luaskan project Anda dan pilih set data.
Klik tabel dalam daftar.
Klik Detail dan catat nilai dalam Jumlah baris. Anda mungkin memerlukan nilai ini untuk mengontrol titik awal hasil menggunakan alat command line bq atau API.
Klik Pratinjau. Contoh set data akan ditampilkan.
Command line
Berikan perintah bq head
dengan flag --max_rows
untuk mencantumkan semua kolom dalam
jumlah baris tabel tertentu. Jika --max_rows
tidak ditentukan, defaultnya
adalah 100.
Untuk menjelajahi subset kolom dalam tabel (termasuk kolom bertingkat dan
berulang), gunakan flag --selected_fields
, lalu masukkan kolom sebagai daftar yang
dipisahkan koma.
Untuk menentukan jumlah baris yang akan dilewati sebelum menampilkan data tabel, gunakan
flag --start_row=integer
(atau pintasan -s
). Nilai
defaultnya adalah 0
. Anda dapat mengambil jumlah baris dalam tabel menggunakan
perintah bq show
untuk mengambil informasi tabel.
Jika tabel yang Anda cari berada dalam project selain project default Anda,
tambahkan project ID ke perintah dalam format berikut:
project_id:dataset.table
.
bq head \ --max_rows integer1 \ --start_row integer2 \ --selected_fields "columns" \ project_id:dataset.table
Dengan keterangan:
- integer1 adalah jumlah baris yang akan ditampilkan.
- integer2 adalah jumlah baris yang akan dilewati sebelum menampilkan data.
- columns adalah daftar kolom yang dipisahkan koma.
- project_id adalah project ID Anda.
- dataset adalah nama set data yang berisi tabel.
- table adalah nama tabel yang akan dijelajahi.
Contoh:
Masukkan perintah berikut untuk mencantumkan semua kolom di 10 baris pertama dalam
mydataset.mytable
. mydataset
berada di project default Anda.
bq head --max_rows=10 mydataset.mytable
Masukkan perintah berikut untuk mencantumkan semua kolom di 100 baris pertama dalam
mydataset.mytable
. mydataset
ada di myotherproject
, bukan project default
Anda.
bq head myotherproject:mydataset.mytable
Masukkan perintah berikut untuk menampilkan field1
dan field2
saja di
mydataset.mytable
. Perintah ini menggunakan flag --start_row
untuk langsung menuju ke baris 100.
mydataset.mytable
berada di project default Anda.
bq head --start_row 100 --selected_fields "field1,field2" mydataset.mytable
Karena perintah bq head
tidak membuat tugas kueri, perintah bq head
tidak
muncul dalam histori kueri, dan Anda tidak dikenai biaya untuk perintah tersebut.
API
Jelajahi data tabel dengan memanggil tabledata.list
.
Tentukan nama tabel di parameter tableId
.
Konfigurasikan parameter opsional ini untuk mengontrol output:
maxResults
— Jumlah hasil maksimum yang akan ditampilkanselectedFields
— Daftar kolom yang dipisahkan koma yang akan ditampilkan. Jika tidak ditentukan, semua kolom akan ditampilkanstartIndex
— Indeks berbasis nol dari baris awal yang akan dibaca
Nilai akan ditampilkan dan digabungkan dalam objek JSON yang harus Anda uraikan, seperti dijelaskan
dalam dokumentasi referensi
tabledata.list
.
C#
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery C# API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Go API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Library Klien Cloud untuk Go akan melakukan penomoran halaman secara otomatis secara default, sehingga Anda tidak perlu menerapkan penomoran halaman sendiri, misalnya:
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Node.js API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Library Klien Cloud untuk Node.js akan diberi nomor halaman secara otomatis secara default, sehingga Anda tidak perlu menerapkan penomoran halaman sendiri, misalnya:
PHP
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan PHP di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery PHP API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Penomoran halaman terjadi secara otomatis di Library Klien Cloud untuk PHP
menggunakan fungsi generator rows
, yang mengambil halaman hasil berikutnya
selama iterasi.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Python API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Ruby
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Ruby di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Ruby API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Penomoran halaman dilakukan secara otomatis di Library Klien Cloud untuk Ruby
menggunakan Table#data
dan Data#next
.
Membuat kueri data tabel
Anda dapat membuat kueri data BigQuery menggunakan salah satu jenis tugas kueri berikut:
- Tugas kueri interaktif. Secara default, BigQuery menjalankan tugas kueri interaktif (sesuai permintaan) sesegera mungkin.
Tugas kueri berkelanjutan (Pratinjau). Dengan tugas ini, kueri berjalan terus-menerus, sehingga Anda dapat menganalisis data yang masuk di BigQuery secara real time, lalu menulis hasilnya ke tabel BigQuery, atau mengekspor hasilnya ke Bigtable atau Pub/Sub. Anda dapat menggunakan kemampuan ini untuk melakukan tugas yang sensitif terhadap waktu, seperti membuat dan segera menindaklanjuti insight, menerapkan inferensi machine learning (ML) real-time, dan membangun pipeline data berbasis peristiwa.
Tugas kueri batch. Dengan tugas ini, BigQuery akan mengantrekan setiap kueri batch atas nama Anda, lalu memulai kueri tersebut saat resource tanpa aktivitas tersedia, biasanya dalam beberapa menit.
Anda dapat menjalankan tugas kueri menggunakan metode berikut:
- Buat dan jalankan kueri di konsol Google Cloud.
- Jalankan perintah
bq query
di alat command line bq. - Secara terprogram panggil metode
jobs.query
ataujobs.insert
di BigQuery REST API. - Menggunakan library klien BigQuery.
Untuk informasi lebih lanjut tentang cara membuat kueri tabel BigQuery, lihat Pengantar cara membuat kueri data BigQuery.
Selain membuat kueri pada data yang disimpan di tabel BigQuery, Anda dapat melakukan kueri pada data yang disimpan secara eksternal. Untuk informasi selengkapnya, lihat Pengantar sumber data eksternal.
Memodifikasi data tabel
Anda dapat mengubah data dalam tabel menggunakan pernyataan bahasa pengolahan data (DML) di SQL. Pernyataan DML memungkinkan Anda memperbarui, menggabungkan, menyisipkan, dan menghapus baris dalam tabel. Untuk referensi sintaksis dan contoh setiap jenis pernyataan DML, lihat Pernyataan bahasa manipulasi data di GoogleSQL.
Dialek legacy SQL tidak mendukung pernyataan DML. Untuk memperbarui atau menghapus data menggunakan legacy SQL, Anda harus menghapus tabel, lalu membuatnya ulang dengan data baru. Atau, Anda dapat menulis kueri yang mengubah data dan menulis hasil kueri ke tabel tujuan baru.
Menyalin data tabel
Anda dapat menyalin tabel dengan:
- Menggunakan konsol Google Cloud
- Menggunakan perintah
bq cp
alat command line bq - Memanggil metode API
jobs.insert
dan mengonfigurasi tugas penyalinan - Menggunakan library klien
Untuk informasi selengkapnya tentang cara menyalin tabel, lihat Menyalin tabel.
Mengekspor data tabel
Anda dapat mengekspor data tabel ke bucket Cloud Storage dalam format CSV, JSON, Avro, atau Parquet (Pratinjau). Mengekspor ke komputer lokal Anda tidak didukung. Namun, Anda dapat mendownload dan menyimpan hasil kueri menggunakan konsol Google Cloud.
Untuk informasi selengkapnya, lihat Mengekspor data tabel.
Keamanan tabel
Untuk mengontrol akses ke tabel di BigQuery, lihat Pengantar kontrol akses tabel.
Langkah selanjutnya
- Untuk informasi selengkapnya tentang pemuatan data, lihat Pengantar pemuatan data.
- Untuk informasi selengkapnya tentang cara membuat kueri data, lihat Pengantar cara membuat kueri data BigQuery.
- Untuk informasi selengkapnya tentang cara mengubah skema tabel, lihat Mengubah skema tabel.
- Untuk informasi selengkapnya tentang cara membuat dan menggunakan tabel, lihat Membuat dan menggunakan tabel.
- Untuk informasi selengkapnya tentang cara mengelola tabel, lihat Mengelola tabel.