Pengantar pemecahan masalah
Dokumen ini memberikan ringkasan alat diagnostik, antarmuka telemetri, dan resource dokumentasi yang tersedia untuk membantu Anda memecahkan masalah di BigQuery.
Saat Anda mengalami kegagalan kueri, bottleneck performa, error izin, batas kuota, atau masalah penyerapan data, BigQuery menyediakan alat bawaan untuk membantu Anda mengidentifikasi penyebab utama dan menyelesaikan masalah dengan cepat.
Alur kerja pemecahan masalah
Untuk memecahkan masalah di BigQuery secara efektif, pertimbangkan kriteria diagnostik berikut:
- Identifikasi gejala dan mode kegagalan. Tinjau hasil tugas Anda untuk menentukan apakah masalahnya adalah kegagalan yang sulit (seperti kode error atau kegagalan tugas), penurunan performa (seperti kueri lambat atau kekurangan slot), penolakan izin, atau perbedaan biaya yang tidak terduga.
- Periksa detail eksekusi tugas. Gunakan Google Cloud konsol penjelajah tugas, grafik eksekusi kueri, atau alat command line untuk memeriksa waktu tingkat tahap, alokasi slot, dan detail error. Anda juga dapat meminta Gemini Cloud Assist untuk menyelidiki masalah Anda.
- Analisis telemetri dan metadata. Buat kueri tampilan skema informasi atau periksa Cloud Audit Logs untuk mengorelasikan perilaku tugas dengan pertentangan resource, batas reservasi, atau perubahan administratif.
- Terapkan mitigasi yang ditargetkan. Gunakan panduan pemecahan masalah khusus kategori atau fungsi SQL defensif untuk mengatasi penyebab yang mendasarinya.
Membedakan pemecahan masalah dari pengoptimalan
Saat Anda menggunakan BigQuery, penting untuk membedakan antara pemecahan masalah, pengoptimalan performa, dan praktik terbaik:
- Pemecahan masalah. Berfokus pada diagnosis dan penyelesaian kegagalan yang tidak terduga, error runtime, pipeline yang rusak, kehabisan kuota, atau perilaku yang tidak diinginkan yang mencegah tugas selesai dengan sukses.
- Pengoptimalan performa. Berfokus pada peningkatan kecepatan eksekusi, latensi, atau efisiensi resource kueri dan workload yang sudah berjalan dengan sukses. Untuk mengetahui informasi selengkapnya, lihat Mengoptimalkan performa kueri.
- Praktik terbaik. Berfokus pada pola arsitektur dan desain untuk pemodelan data, penyimpanan, keamanan, dan pengelolaan biaya. Untuk mengetahui informasi selengkapnya, lihat Pengantar praktik terbaik.
Alat diagnostik
Bagian berikut menjelaskan beberapa antarmuka BigQuery dan alat otomatis untuk membantu Anda mendiagnosis masalah di seluruh workload.
Alat visual dan konsol
Alat berikut membantu Anda memecahkan masalah BigQuery dari Google Cloud konsol.
- Penjelajah Tugas. Telusuri, filter, dan periksa tugas yang lalu dan yang sedang berjalan di seluruh project atau organisasi tanpa menulis kueri SQL. Anda dapat melihat pesan error, penggunaan slot, linimasa eksekusi, dan metadata tugas. Untuk mengetahui informasi selengkapnya, lihat Memantau tugas di Penjelajah Tugas.
- Grafik eksekusi kueri. Periksa rencana eksekusi visual tahap demi tahap untuk kueri. Grafik eksekusi membantu Anda mengidentifikasi bottleneck seperti tumpahan shuffle ke disk, tahap terikat komputasi, kecondongan data, atau penundaan input/output. Untuk mengetahui informasi selengkapnya, lihat Mendapatkan insight performa kueri.
- Query Insights dan diagram resource. Lihat grafik real-time dan historis penggunaan slot, konkurensi tugas, dan alokasi reservasi untuk mendiagnosis batasan kapasitas. Untuk mengetahui informasi selengkapnya, lihat Menggunakan diagram resource administratif.
- Gemini Cloud Assist di BigQuery. Dapatkan analisis kontekstual yang dibantu AI untuk kueri yang gagal dan bottleneck performa. Gemini Cloud Assist menjelaskan kode error, menandai sintaksis SQL yang bermasalah, dan menyarankan langkah-langkah perbaikan langsung di Google Cloud konsol. Untuk mengetahui informasi selengkapnya, lihat Memecahkan masalah kueri menggunakan Gemini Cloud Assist.
Alat diagnostik command line dan otomatis
Alat berikut dapat membantu Anda mendiagnosis masalah BigQuery dari antarmuka command line.
- alat command line bq. Periksa struktur error mendetail, ID permintaan, dan metadata tugas menggunakan perintah
bq show -j <var>JOB_ID</var>atau dengan menambahkan flag--format=prettyjsonke perintah kueri. Untuk mengetahui informasi selengkapnya, lihat Memecahkan masalah perintah CLI. - Alat
gcpdiagJalankan diagnostik otomatis dari command line untuk mendeteksi masalah konfigurasi umum Google Cloud , termasuk celah izin IAM, batasan jaringan, dan error akun layanan. Untuk mengetahui informasi selengkapnya, lihat Memecahkan masalah kegagalan kueri menggunakangcpdiag.
Tampilan metadata dan telemetri
Tampilan skema informasi memungkinkan Anda membuat kueri metadata real-time dan historis tentang tugas, kapasitas, penyerapan streaming, dan set data menggunakan SQL standar. Tampilan ini mencakup hal berikut:
- Telemetri eksekusi tugas. Buat kueri
INFORMATION_SCHEMA.JOBSdanINFORMATION_SCHEMA.JOBS_TIMELINEuntuk menganalisis konsumsi slot-milidetik, byte yang tumpah, waktu antrean, dan kode error di seluruh tugas. - Reservasi dan kapasitas. Buat kueri
INFORMATION_SCHEMA.RESERVATIONSdanINFORMATION_SCHEMA.CAPACITY_COMMITMENTSuntuk mendiagnosis alokasi slot, batas reservasi, dan perilaku penskalaan otomatis. - Streaming dan penyerapan. Buat kueri
INFORMATION_SCHEMA.STREAMING_TIMELINEuntuk mengidentifikasi latensi penyerapan dan batas kapasitas streaming. - Kesehatan penyimpanan dan partisi. Buat kueri
INFORMATION_SCHEMA.TABLE_STORAGEuntuk memeriksa ukuran tabel fisik, penyimpanan aktif versus jangka panjang, dan distribusi partisi.
Untuk mengetahui informasi selengkapnya, lihat
Pengantar BigQuery INFORMATION_SCHEMA.
Cloud Monitoring dan Cloud Audit Logs
- Cloud Audit Logs. Tinjau log audit Aktivitas Admin dan Akses Data untuk melacak siapa yang memulai operasi tertentu, memeriksa identitas pemanggil, dan mendiagnosis error
PERMISSION_DENIED. Untuk mengetahui informasi selengkapnya, lihat Referensi logging audit BigQuery. - Cloud Monitoring. Lacak metrik seperti penggunaan slot, durasi eksekusi kueri, dan byte yang diupload, serta konfigurasi kebijakan pemberitahuan untuk memberi tahu tim Anda saat batas atau kuota terlampaui. Untuk mengetahui informasi selengkapnya, lihat Memantau BigQuery menggunakan Cloud Monitoring.
Fungsi SQL defensif dan pernyataan proses debug
Untuk mencegah kueri gagal secara tidak terduga karena error data runtime, gunakan hal berikut:
- Ekspresi aman. Gunakan
SAFE_CAST(),SAFE_DIVIDE(),SAFE_OFFSET(), danSAFE_ORDINAL()untuk menampilkanNULL, bukan menghasilkan error runtime saat jenis data atau batas array tidak cocok. Sebagian besar fungsi skalar mendukung awalanSAFE.. Untuk mengetahui informasi selengkapnya, lihat Fungsi proses debug danSAFE.awalan. - Pernyataan SQL. Gunakan pernyataan
ASSERTdalam transaksi atau skrip multi-pernyataan untuk menerapkan kondisi validasi data dan gagal dengan pesan error kustom sebelum operasi hilir dieksekusi. Untuk mengetahui informasi selengkapnya, lihat Pernyataan proses debug.
Memecahkan masalah berdasarkan kategori masalah
Pilih kategori dari bagian berikut untuk melihat kode error mendetail, penyebab utama, dan panduan penyelesaian langkah demi langkah.
Performa dan eksekusi kueri
Mendiagnosis kueri yang gagal dijalankan, waktu tunggu habis, mengalami batasan resource, atau mengalami penundaan yang tidak terduga.
- Memecahkan masalah kueri. Mengatasi error
resourcesExceeded, eksekusi kueri lambat, tumpahan shuffle, kondisi kehabisan memori, dan kegagalan kueri terjadwal. - Memecahkan masalah waktu antrean kueri yang lama. Mendiagnosis bottleneck konkurensi dan kueri yang diantrekan karena batas antrean interaktif atau batch.
- Referensi pesan error. Cari kode error HTTP tertentu, string alasan error, dan tindakan yang direkomendasikan.
Identity and Access Management (IAM) dan keamanan
Mendiagnosis kegagalan kontrol akses, penetapan peran yang tidak ada, dan blokir kebijakan tata kelola data.
- Memecahkan masalah izin IAM di BigQuery. Mendiagnosis error izin ditolak, memberikan peran IAM yang tidak ada, dan menggunakan Pemecah Masalah Kebijakan.
- Memecahkan masalah Kontrol Layanan VPC. Mengidentifikasi dan mengatasi pelanggaran perimeter serta blokir aturan ingress atau egress.
- Memecahkan masalah keamanan tingkat baris dan tingkat kolom. Mengatasi masalah akses terkait kebijakan data, tag kebijakan, dan filter akses baris.
Kuota, batas kapasitas, dan reservasi
Mengatasi masalah saat workload melampaui batas layanan BigQuery atau alokasi kapasitas.
- Memecahkan masalah error kuota dan batas. Mengidentifikasi kuota yang dapat disesuaikan versus kuota yang tidak dapat disesuaikan, menangani batas kueri serentak, dan mengatasi error batas kapasitas API.
- Memecahkan masalah reservasi. Mendiagnosis kekurangan slot, ketidakcocokan penetapan reservasi, dan kekurangan kapasitas dasar.
Penyerapan, streaming, dan transfer data
Mendiagnosis kegagalan saat memuat data, streaming rekaman, atau menyinkronkan sumber eksternal.
- Memecahkan masalah konfigurasi transfer. Mengatasi error BigQuery Data Transfer Service di berbagai sumber seperti Amazon S3, Salesforce, Google Ads, dan Cloud Storage.
- Memecahkan masalah streaming insert. Melakukan debug pada Storage Write API dan kegagalan penyerapan streaming lama, error penyisipan tingkat baris, dan kuota throughput.
- Memecahkan masalah pemuatan data. Mengatasi error penguraian skema dan pembatas CSV, JSON, Parquet, atau Avro.
Sumber data eksternal dan kueri gabungan
Mendiagnosis error konektivitas, autentikasi, dan eksekusi saat membuat kueri data di luar BigQuery.
- Memecahkan masalah kueri gabungan Cloud SQL. Mengatasi waktu tunggu koneksi habis, masalah konfigurasi instance, dan kegagalan kredensial.
Perbedaan penagihan dan biaya
Menyelidiki tagihan yang tidak terduga dan perbedaan penagihan di seluruh komputasi dan penyimpanan.
- Memecahkan masalah perbedaan biaya BigQuery. Mengidentifikasi asal tagihan yang tidak terduga, menganalisis byte sesuai permintaan yang ditagih, dan memverifikasi penggunaan komitmen kapasitas.
Mitigasi kehilangan data
Untuk memulihkan data historis yang diubah atau dihapus, atau untuk mempertahankan kelangsungan bisnis selama gangguan regional, gunakan alat pemulihan dari bencana dan retensi data berikut:
- Memulihkan data. Membuat kueri atau memulihkan data tabel yang diubah atau dihapus dalam jangka waktu perjalanan waktu Anda. Untuk mengetahui informasi selengkapnya, lihat Memulihkan data.
- Perjalanan waktu. Mempertahankan data yang diperbarui atau dihapus dalam set data selama periode retensi data yang dikonfigurasi untuk membantu melindungi dari modifikasi yang tidak disengaja. Untuk mengetahui informasi selengkapnya, lihat Perjalanan waktu.
- Failover regional. Mempromosikan replika sekunder ke peran utama selama gangguan regional saat menggunakan pemulihan dari bencana yang dikelola BigQuery. Untuk mengetahui informasi selengkapnya, lihat Failover regional.
Menggunakan API
Saat Anda berinteraksi dengan BigQuery secara terprogram, gunakan resource berikut untuk mengoptimalkan latensi permintaan dan mengelola alur kerja upload:
- Tips performa API. Ikuti praktik terbaik untuk melakukan panggilan API, seperti mengelola kumpulan koneksi, menggunakan operasi batch, dan menangani percobaan ulang. Untuk mengetahui informasi selengkapnya, lihat Tips performa API.
- Upload API. Memecahkan masalah dan mengelola penyerapan data menggunakan permintaan upload yang dapat dilanjutkan dan multipart REST API. Untuk mengetahui informasi selengkapnya, lihat Upload API.
Langkah berikutnya
- Pelajari lebih lanjut cara memantau BigQuery.
- Jelajahi referensi BigQuery
INFORMATION_SCHEMA. - Hubungi Cloud Customer Care untuk mendapatkan dukungan terkait masalah produksi yang persisten atau penting.