Data pemuatan batch
Anda dapat memuat data ke BigQuery dari Cloud Storage atau dari file lokal sebagai operasi batch. Data sumber dapat menggunakan salah satu format berikut:
- Avro
- Nilai yang dipisahkan koma (CSV)
- JSON (dibatasi baris baru)
- ORC
- Parquet
- Ekspor Firestore disimpan di Cloud Storage.
Anda juga dapat menggunakan BigQuery Data Transfer Service untuk menyiapkan pemuatan berulang dari Cloud Storage ke BigQuery.
Cobalah sendiri
Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa BigQuery dalam skenario dunia nyata. Pelanggan baru mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
Coba BigQuery gratisSebelum memulai
Berikan peran Identity and Access Management (IAM) yang memberi pengguna izin yang diperlukan untuk melakukan setiap tugas dalam dokumen ini, dan buat set data untuk menyimpan data Anda.
Izin yang diperlukan
Untuk memuat data ke BigQuery, Anda memerlukan izin IAM untuk menjalankan tugas pemuatan dan memuat data ke dalam tabel dan partisi BigQuery. Jika memuat data dari Cloud Storage, Anda juga memerlukan izin IAM untuk mengakses bucket yang berisi data Anda.
Izin untuk memuat data ke BigQuery
Untuk memuat data ke dalam tabel atau partisi BigQuery baru, atau menambahkan atau menimpa tabel atau partisi yang sudah ada, Anda memerlukan izin IAM berikut:
bigquery.tables.create
bigquery.tables.updateData
bigquery.tables.update
bigquery.jobs.create
Setiap peran IAM yang telah ditetapkan berikut mencakup izin yang diperlukan untuk memuat data ke dalam tabel atau partisi BigQuery:
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.admin
(termasuk izinbigquery.jobs.create
)bigquery.user
(termasuk izinbigquery.jobs.create
)bigquery.jobUser
(termasuk izinbigquery.jobs.create
)
Selain itu, jika memiliki izin bigquery.datasets.create
, Anda dapat membuat dan
memperbarui tabel menggunakan tugas pemuatan dalam set data yang Anda buat.
Untuk mengetahui informasi selengkapnya tentang peran dan izin IAM di BigQuery, lihat Peran dan izin yang telah ditetapkan.
Izin untuk memuat data dari Cloud Storage
Untuk mendapatkan izin yang Anda perlukan untuk memuat data dari bucket Cloud Storage,
minta administrator Anda untuk memberi Anda
peran IAM Storage Admin (roles/storage.admin
) di bucket.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.
Peran yang telah ditentukan ini berisi izin yang diperlukan untuk memuat data dari bucket Cloud Storage. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk memuat data dari bucket Cloud Storage:
-
storage.buckets.get
-
storage.objects.get
-
storage.objects.list (required if you are using a URI wildcard)
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran lainnya yang telah ditetapkan sebelumnya.
Membuat set data
Membuat set data BigQuery untuk menyimpan data Anda.
Memuat data dari Cloud Storage
BigQuery mendukung pemuatan data dari salah satu kelas penyimpanan Cloud Storage berikut:
- Standar
- Nearline
- Coldline
- Archive
Untuk mempelajari cara memuat data ke BigQuery, lihat halaman untuk format data Anda:
Untuk mempelajari cara mengonfigurasi pemuatan berulang dari Cloud Storage ke BigQuery, lihat Transfer Cloud Storage.
Pertimbangan lokasi
Saat Anda memuat data dari Cloud Storage menggunakan tabel eksternal BigLake atau non-BigLake, data yang Anda muat harus ditempatkan bersama dengan set data BigQuery Anda.
Anda dapat memuat data dari bucket Cloud Storage yang berada di lokasi mana pun jika set data BigQuery Anda berada di multi-region
US
."- Bucket multi-region: Jika
bucket Cloud Storage yang ingin Anda muat terletak di bucket multi-region, maka set data
BigQuery dapat berada di bucket multi-region yang sama atau satu region yang disertakan dalam bucket multi-region yang sama.
Misalnya, jika bucket Cloud Storage berada di region
EU
, maka set data BigQuery Anda dapat berada di multi-regionEU
atau satu region mana pun diEU
. Bucket dual-region: Jika bucket Cloud Storage yang ingin Anda muat terletak di bucket dual-region, maka set data BigQuery dapat ditemukan di region yang disertakan di bucket dual-region, atau di multi-region yang mencakup dual-region. Misalnya, jika bucket Cloud Storage terletak di region
EUR4
, maka set data BigQuery Anda dapat berlokasi di Finlandia (europe-north1
) satu region, Belanda (europe-west4
) satu region, atau multi-regionEU
.Untuk mengetahui informasi selengkapnya, lihat Membuat bucket dual-region.
Bucket satu region: Jika bucket Cloud Storage yang ingin Anda muat berada di satu region, set data BigQuery bisa berada di satu region yang sama, atau di multi-region yang mencakup satu region. Misalnya, jika bucket Cloud Storage Anda berada di region Finlandia (
europe-north1
), set data BigQuery Anda dapat berada di Finlandia atau multi-regionEU
.Satu pengecualian adalah jika set data BigQuery Anda berada di region
asia-northeast1
, bucket Cloud Storage Anda dapat berada di multi-regionEU
.
Untuk mengetahui informasi selengkapnya tentang lokasi Cloud Storage, lihat Lokasi bucket dalam dokumentasi Cloud Storage.
Anda tidak dapat mengubah lokasi set data setelah dibuat, tetapi Anda dapat membuat salinan set data atau memindahkannya secara manual. Untuk informasi selengkapnya, lihat:
Mengambil Cloud Storage URI
Untuk memuat data dari sumber data Cloud Storage, Anda harus menyediakan Cloud Storage URI.
Jalur resource Cloud Storage berisi nama bucket dan
objek (nama file) Anda. Misalnya, jika bucket Cloud Storage bernama
mybucket
dan file datanya bernama myfile.csv
, jalur resource-nya adalah
gs://mybucket/myfile.csv
.
BigQuery tidak mendukung jalur resource Cloud Storage
yang mencakup beberapa garis miring berturut-turut setelah garis miring ganda di awal.
Nama objek Cloud Storage dapat berisi beberapa karakter garis miring ("/")
berturut-turut. Namun, BigQuery mengonversi beberapa garis miring berturut-turut
menjadi satu garis miring. Misalnya, jalur resource berikut, meskipun
valid di Cloud Storage, tidak berfungsi di BigQuery:
gs://bucket/my//object//name
.
Untuk mengambil jalur resource Cloud Storage:
Buka Konsol Cloud Storage.
Jelajahi lokasi objek (file) yang berisi data sumber.
Klik nama objek.
Halaman Detail objek akan terbuka.
Salin nilai yang diberikan di kolom gsutil URI, yang dimulai dengan
gs://
.
Untuk ekspor Google Datastore, hanya satu URI yang dapat ditentukan, dan harus diakhiri dengan .backup_info
atau .export_metadata
.
Dukungan karakter pengganti untuk Cloud Storage URI
Jika data dipisahkan menjadi beberapa file, Anda dapat menggunakan karakter pengganti tanda bintang (*) untuk memilih beberapa file. Penggunaan karakter pengganti tanda bintang harus mengikuti aturan berikut:
- Tanda bintang dapat muncul di dalam nama objek atau di akhir nama objek.
- Menggunakan beberapa tanda bintang tidak didukung. Misalnya, jalur
gs://mybucket/fed-*/temp/*.csv
tidak valid. - Penggunaan tanda bintang dengan nama bucket tidak didukung.
Contoh:
Contoh berikut menunjukkan cara memilih semua file di semua folder yang dimulai dengan awalan
gs://mybucket/fed-samples/fed-sample
:gs://mybucket/fed-samples/fed-sample*
Contoh berikut menunjukkan cara memilih file dengan ekstensi
.csv
saja di folder bernamafed-samples
dan subfolderfed-samples
apa pun:gs://mybucket/fed-samples/*.csv
Contoh berikut menunjukkan cara memilih file dengan pola penamaan
fed-sample*.csv
dalam folder bernamafed-samples
. Contoh ini tidak memilih file di subfolderfed-samples
.gs://mybucket/fed-samples/fed-sample*.csv
Saat menggunakan alat command line bq, Anda mungkin perlu meng-escape tanda bintang di beberapa platform.
Anda tidak dapat menggunakan karakter pengganti tanda bintang saat memuat data ekspor Datastore atau Firestore dari Cloud Storage.
Batasan
Anda harus tunduk kepada batasan berikut saat memuat data ke BigQuery dari bucket Cloud Storage:
- Jika lokasi set data Anda ditetapkan ke nilai selain multi-region
US
, bucket Cloud Storage harus berada di region yang sama atau berada dalam multi-region yang sama dengan set data tersebut. - BigQuery tidak menjamin konsistensi data untuk sumber data eksternal. Perubahan pada data yang mendasari saat kueri berjalan dapat menyebabkan perilaku yang tidak terduga.
- BigQuery tidak mendukung pembuatan versi objek Cloud Storage. Jika Anda menyertakan nomor pembuatan dalam Cloud Storage URI, tugas pemuatan akan gagal.
Bergantung pada format data sumber Cloud Storage Anda, mungkin ada batasan tambahan. Untuk informasi selengkapnya, lihat:
- Batasan CSV
- Batasan JSON
- Batasan ekspor Datastore
- Batasan ekspor Firestore
- Batasan pada data bertingkat dan berulang
Memuat data dari file lokal
Anda dapat memuat data dari sumber data yang dapat dibaca (seperti komputer lokal) dengan menggunakan salah satu hal berikut:
- Konsol Google Cloud
- Perintah
bq load
alat command line bq - API
- Library klien
Saat Anda memuat data menggunakan Konsol Google Cloud atau alat command line bq, tugas pemuatan akan otomatis dibuat.
Untuk memuat data dari sumber data lokal:
Konsol
Buka halaman BigQuery di konsol Google Cloud.
Di panel Penjelajah, luaskan project Anda dan pilih set data.
Luaskan opsi
Actions dan klik Open.Di panel detail, klik Create table
.Di halaman Buat Tabel, di bagian Sumber:
- Untuk Buat tabel dari, pilih Upload.
- Untuk Pilih file, klik Browse.
- Cari file, lalu klik Buka. Perhatikan bahwa karakter pengganti dan daftar yang dipisahkan koma tidak didukung untuk file lokal.
- Untuk Format file, pilih CSV, JSON (newline delimited), Avro, Parquet , atau ORC.
Di halaman Buat Tabel, di bagian Sumber:
- Untuk Project, pilih project yang sesuai.
- Untuk Set data, pilih set data yang sesuai.
- Pada kolom Tabel, masukkan nama tabel yang Anda buat di BigQuery.
- Pastikan Jenis Tabel disetel ke Native table.
Di bagian Schema, masukkan definisi schema.
Untuk file CSV dan JSON, Anda dapat mencentang opsi Deteksi otomatis untuk mengaktifkan deteksi otomatis skema. Informasi skema dijelaskan sendiri dalam data sumber untuk jenis file lain yang didukung.
Anda juga dapat memasukkan informasi skema secara manual dengan:
Mengklik Edit sebagai teks dan memasukkan skema tabel sebagai array JSON:
Menggunakan Tambahkan Kolom untuk memasukkan skema secara manual.
Pilih item yang berlaku di bagian Opsi lanjutan. Untuk mengetahui informasi tentang opsi yang tersedia, lihat opsi CSV dan opsi JSON.
Opsional: Di Opsi lanjutan, pilih disposisi tulis:
- Tulis jika kosong: Menulis data hanya jika tabel kosong.
- Tambahkan ke tabel: Menambahkan data ke akhir tabel. Setelan ini adalah default.
- Timpa tabel: Menghapus semua data yang ada di tabel sebelum menulis data baru.
Klik Buat Tabel.
bq
Gunakan perintah bq load
, tentukan source_format
, dan sertakan jalur
ke file lokal.
(Opsional) Berikan flag --location
dan tetapkan nilainya ke
lokasi Anda.
Jika Anda memuat data dalam project selain project default Anda, tambahkan project ID ke set data dalam format berikut: PROJECT_ID:DATASET
.
bq --location=LOCATION load \ --source_format=FORMAT \ PROJECT_ID:DATASET.TABLE \ PATH_TO_SOURCE \ SCHEMA
Ganti kode berikut:
LOCATION
: lokasi Anda. Flag--location
bersifat opsional. Misalnya, jika Anda menggunakan BigQuery di region Tokyo, tetapkan nilai flag keasia-northeast1
. Anda dapat menetapkan nilai default untuk lokasi menggunakan file .bigqueryrc.FORMAT
:CSV
,AVRO
,PARQUET
,ORC
, atauNEWLINE_DELIMITED_JSON
.project_id
: project ID Anda.dataset
: set data yang sudah ada.table
: nama tabel tempat Anda memuat data.path_to_source
: jalur ke file lokal.schema
: skema yang valid. Skema dapat berupa file JSON lokal, atau dapat diketik secara inline sebagai bagian dari perintah. Anda juga dapat menggunakan flag--autodetect
alih-alih memberikan definisi skema.
Selain itu, Anda dapat menambahkan flag untuk opsi yang memungkinkan Anda mengontrol cara BigQuery mengurai data Anda. Misalnya, Anda dapat menggunakan tanda
--skip_leading_rows
untuk mengabaikan baris header dalam file CSV. Untuk mengetahui informasi selengkapnya, lihat opsi CSV dan opsi JSON.
Contoh:
Perintah berikut memuat file JSON lokal yang dibatasi baris baru (mydata.json
) ke tabel bernama mytable
di mydataset
dalam project default Anda. Skema ditetapkan dalam file skema lokal bernama myschema.json
.
bq load \
--source_format=NEWLINE_DELIMITED_JSON \
mydataset.mytable \
./mydata.json \
./myschema.json
Perintah berikut memuat file CSV lokal (mydata.csv
) ke tabel
bernama mytable
dalam mydataset
di myotherproject
. Skema ditentukan
sebagai bagian dalam format
FIELD:DATA_TYPE, FIELD:DATA_TYPE
.
bq load \
--source_format=CSV \
myotherproject:mydataset.mytable \
./mydata.csv \
qtr:STRING,sales:FLOAT,year:STRING
Perintah berikut memuat file CSV lokal (mydata.csv
) ke tabel
bernama mytable
di mydataset
dalam project default Anda. Skema
ditentukan menggunakan deteksi otomatis skema.
bq load \
--autodetect \
--source_format=CSV \
mydataset.mytable \
./mydata.csv
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 mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Kode berikut menunjukkan cara memuat file CSV lokal ke tabel BigQuery yang baru. Untuk memuat file lokal format lain, gunakan class opsi update untuk format yang sesuai dari class dasar JobCreationOptions, bukanUploadCsvOptions
.
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 mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Kode berikut menunjukkan cara memuat file CSV lokal ke tabel BigQuery yang baru. Untuk memuat file lokal format lain, setel properti DataFormat dariNewReaderSource
ke format yang sesuai.
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 mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Kode berikut menunjukkan cara memuat file CSV lokal ke tabel BigQuery yang baru. Untuk memuat file lokal dengan format lain, setel FormatOptions ke format yang sesuai.
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 mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Kode berikut menunjukkan cara memuat file CSV lokal ke tabel BigQuery yang baru. Untuk memuat file lokal format lain, tetapkan parametermetadata
fungsi load
ke format yang sesuai.
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 mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Kode berikut menunjukkan cara memuat file CSV lokal ke tabel BigQuery yang baru. Untuk memuat file lokal dengan format lain, setel sourceFormat ke format yang sesuai.
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 mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Kode berikut menunjukkan cara memuat file CSV lokal ke tabel BigQuery yang baru. Untuk memuat file lokal dalam format lain, tetapkan properti LoadJobConfig.source_format ke format yang sesuai.
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 mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Kode berikut menunjukkan cara memuat file CSV lokal ke tabel BigQuery yang baru. Untuk memuat file lokal format lain, tetapkan parameterformat
metode
Table#load_job
ke format yang sesuai.
Batasan
Pemuatan data dari sumber data lokal tunduk pada batasan berikut:
- Karakter pengganti dan daftar yang dipisahkan koma tidak didukung saat Anda memuat file dari sumber data lokal. File harus dimuat satu per satu.
- Saat menggunakan konsol Google Cloud, file yang dimuat dari sumber data lokal tidak boleh melebihi 100 MB. Untuk file yang lebih besar, muat file dari Cloud Storage.
Memuat data yang dikompresi dan tidak dikompresi
Untuk format Avro, Parquet, dan ORC, BigQuery mendukung pemuatan file dengan data file yang telah dikompresi menggunakan codec yang didukung. Namun, BigQuery tidak mendukung pemuatan file
dalam format yang telah dikompresi sendiri, misalnya dengan menggunakan
aplikasi utilitas gzip
.
Format biner Avro adalah format yang lebih disukai untuk memuat data yang dikompresi dan tidak dikompresi. Data Avro lebih cepat dimuat karena data dapat dibaca secara paralel, bahkan saat blok data dikompresi. Untuk daftar codec kompresi yang didukung, lihat Kompresi avro.
Format biner Parquet juga merupakan pilihan yang bagus karena encoding per kolom Parquet yang efisien biasanya menghasilkan rasio kompresi yang lebih baik dan file yang lebih kecil. File Parquet juga memanfaatkan teknik kompresi yang memungkinkan file dimuat secara paralel. Untuk daftar codec kompresi yang didukung, lihat Kompresi Parquet.
Format biner ORC menawarkan manfaat yang mirip dengan manfaat format Parquet. Data dalam file ORC dapat dimuat dengan cepat karena jalur data dapat dibaca secara paralel. Baris di setiap jalur data dimuat secara berurutan. Untuk mengoptimalkan waktu pemuatan, gunakan ukuran jalur data sekitar 256 MB atau kurang. Untuk daftar codec kompresi yang didukung, lihat Kompresi ORC.
Untuk format data lain seperti CSV dan JSON, BigQuery dapat memuat file yang tidak dikompresi secara signifikan lebih cepat daripada file terkompresi karena file yang tidak dikompresi dapat dibaca secara paralel. Karena file yang tidak dikompresi lebih besar, penggunaannya dapat menyebabkan batasan bandwidth dan biaya Cloud Storage yang lebih tinggi untuk data yang di-stage di Cloud Storage sebelum dimuat ke BigQuery. Perlu diingat bahwa pengurutan baris tidak dijamin untuk file yang dikompresi atau tidak dikompresi. Penting untuk mempertimbangkan konsekuensi ini, tergantung pada kasus penggunaan Anda.
Secara umum, jika bandwidth dibatasi, kompresi file CSV dan JSON menggunakan gzip
sebelum menguploadnya ke Cloud Storage. gzip
adalah satu-satunya jenis kompresi file yang didukung untuk file CSV dan JSON saat memuat data ke BigQuery. Jika kecepatan pemuatan penting bagi aplikasi Anda dan Anda memiliki banyak bandwidth untuk memuat data, jangan mengompresi file Anda.
Menambahkan ke atau menimpa tabel
Anda dapat memuat data tambahan ke dalam tabel dari file sumber atau dengan menambahkan hasil kueri. Jika skema data tidak cocok dengan skema tabel atau partisi tujuan, Anda dapat memperbarui skema saat menambahkannya atau menimpanya.
Jika Anda memperbarui skema saat menambahkan data, BigQuery memungkinkan Anda:
- Menambahkan kolom baru
- Ubah kolom
REQUIRED
keNULLABLE
Jika Anda menimpa tabel, skemanya akan selalu ditimpa. Update skema tidak dibatasi saat Anda menimpa tabel.
Di Konsol Google Cloud, gunakan opsi Write preferences untuk menentukan tindakan yang harus diambil ketika Anda memuat data dari file sumber atau dari hasil kueri. Alat command line bq dan API menyertakan opsi berikut:
Opsi konsol | flag alat bq | Properti BigQuery API | Deskripsi |
---|---|---|---|
Tulis jika kosong | Tidak ada | WRITE_EMPTY | Menulis data hanya jika tabel kosong. |
Tambahkan ke tabel | --noreplace atau --replace=false ; jika
--replace tidak ditentukan, defaultnya adalah menambahkan |
WRITE_APPEND | (Default) Menambahkan data ke bagian akhir tabel. |
Timpa tabel | --replace atau --replace=true |
WRITE_TRUNCATE | Menghapus semua data yang ada di tabel sebelum menulis data baru. |
Kebijakan kuota
Untuk mengetahui informasi tentang kebijakan kuota untuk pemuatan batch data, lihat Memuat tugas di halaman Kuota dan batas.
Melihat penggunaan kuota saat ini
Anda dapat melihat penggunaan tugas kueri, pemuatan, ekstrak, atau penyalinan saat ini dengan menjalankan kueri INFORMATION_SCHEMA
untuk melihat metadata tentang tugas yang dijalankan selama jangka waktu yang ditentukan. Anda dapat membandingkan penggunaan saat ini dengan batas kuota untuk menentukan penggunaan kuota jenis tugas tertentu. Contoh kueri berikut menggunakan tampilan INFORMATION_SCHEMA.JOBS
untuk mencantumkan jumlah tugas kueri, pemuatan, ekstrak, dan penyalinan menurut project:
SELECT sum(case when job_type="QUERY" then 1 else 0 end) as QRY_CNT, sum(case when job_type="LOAD" then 1 else 0 end) as LOAD_CNT, sum(case when job_type="EXTRACT" then 1 else 0 end) as EXT_CNT, sum(case when job_type="COPY" then 1 else 0 end) as CPY_CNT FROM `region-eu`.INFORMATION_SCHEMA.JOBS_BY_PROJECT WHERE date(creation_time)= CURRENT_DATE()
Harga
Muatan data dalam batch ke BigQuery tidak dikenakan biaya. Untuk mengetahui informasi lebih lanjut, lihat Harga penyerapan data BigQuery.
Contoh kasus penggunaan
Misalnya ada pipeline batch processing malam yang harus diselesaikan sebelum batas waktu tetap. Data harus tersedia sebelum batas waktu ini untuk diproses lebih lanjut oleh proses batch lain agar dapat menghasilkan laporan yang akan dikirim ke regulator. Kasus penggunaan ini umum terjadi di industri yang diatur seperti keuangan.
Pemuatan batch data dengan tugas pemuatan adalah pendekatan yang tepat untuk kasus penggunaan ini karena latensi bukanlah masalah asalkan batas waktu dapat dipenuhi. Pastikan bucket Cloud Storage Anda memenuhi persyaratan lokasi untuk memuat data ke dalam set data BigQuery.
Hasil tugas pemuatan BigQuery bersifat atomik; baik semua kumpulan data akan
disisipkan atau tidak sama sekali. Sebagai praktik terbaik, saat menyisipkan semua data dalam tugas
pemuatan tunggal, buat tabel baru menggunakan disposisi
WRITE_TRUNCATE
resource JobConfigurationLoad
.
Hal ini penting saat mencoba kembali tugas pemuatan yang gagal, karena klien mungkin
tidak dapat membedakan antara tugas yang gagal dan kegagalan
yang disebabkan, misalnya, dalam mengomunikasikan status keberhasilan kembali kepada klien.
Dengan asumsi data yang akan diserap telah berhasil disalin ke Cloud Storage, percobaan ulang dengan backoff eksponensial sudah cukup untuk mengatasi kegagalan penyerapan.
Sebaiknya tugas batch per malam tidak mencapai kuota default sebesar 1.500 pemuatan per tabel per hari, bahkan dengan percobaan ulang. Saat memuat data secara inkremental, kuota default cukup untuk menjalankan tugas pemuatan setiap 5 menit dan memiliki kuota rata-rata untuk setidaknya 1 percobaan ulang per tugas.