Mengekspor hasil kueri ke file
Dokumen ini menjelaskan cara menyimpan hasil kueri sebagai file, seperti CSV atau JSON.
Batasan
BigQuery tidak mendukung ekspor data bertingkat atau berulang (jenis data RECORD / STRUCT atau ARRAY) ke format CSV. Meskipun kolom RECORD atau STRUCT tampaknya tidak bertingkat dalam, BigQuery memperlakukannya sebagai kolom skema bertingkat dan menampilkan error yang menunjukkan bahwa skema tidak dapat bertingkat.
Untuk mengekspor hasil kueri ke file CSV terstruktur, kueri Anda harus dinormalisasi ke dalam struktur datar dengan satu kolom per kolom kueri. Anda dapat menormalkan struct bertingkat dengan memilih kolom individual menggunakan notasi titik, atau menormalkan array berulang menggunakan operator UNNEST.
Misalnya, jika tabel Anda berisi struct customer dan array items, normalkan kueri sebelum menjalankan dan menyimpan hasilnya ke CSV:
SELECT
customer.id AS customer_id,
customer.name AS customer_name,
item
FROM
`my_project.my_dataset.my_table`,
UNNEST(items) AS item;
Mendownload hasil kueri ke file lokal
Mendownload hasil kueri ke file lokal tidak didukung oleh alat command line bq atau API.
Untuk mendownload hasil kueri sebagai file CSV atau JSON yang dibatasi baris baru, gunakan Google Cloud konsol:
Di Google Cloud konsol, buka halaman BigQuery.
Klik SQL query.
Masukkan kueri GoogleSQL yang valid di area teks Query editor.
Opsional: Untuk mengubah lokasi pemrosesan, klik Edit > Query settings. Untuk Data location, pilih lokasi data Anda.
Klik Run.
Saat hasilnya ditampilkan, klik Save results, lalu pilih format atau lokasi tempat Anda ingin menyimpan hasilnya.
File akan didownload ke lokasi download default browser.
Menyimpan hasil kueri ke Google Drive
Menyimpan hasil kueri ke Google Drive tidak didukung oleh alat command line bq atau API.
Anda mungkin mendapatkan error saat mencoba menyimpan hasil BigQuery ke Google Drive. Error ini disebabkan oleh Drive SDK API tidak dapat mengakses Google Workspace. Untuk mengatasi masalah ini, Anda harus mengaktifkan akun pengguna untuk mengakses Google Drive dengan Drive SDK API.
Untuk menyimpan hasil kueri ke Google Drive, gunakan Google Cloud konsol:
Di Google Cloud konsol, buka halaman BigQuery.
Klik SQL query.
Masukkan kueri GoogleSQL yang valid di area teks Query editor.
Klik Run.
Saat hasilnya ditampilkan, klik Save results.
Di bagian Google Drive, pilih CSV atau JSON. Saat menyimpan hasil ke Google Drive, Anda tidak dapat memilih lokasi. Hasilnya selalu disimpan ke lokasi root "My Drive" location.
Mungkin perlu waktu beberapa menit untuk menyimpan hasil ke Google Drive. Setelah hasilnya disimpan, Anda akan menerima pesan dialog yang menyertakan nama file —
bq-results-[TIMESTAMP]-[RANDOM_CHARACTERS].[CSV or JSON].
Dalam pesan dialog, klik Open untuk membuka file, atau buka Google Drive dan klik My Drive.
Menyimpan hasil kueri ke Google Spreadsheet
Penyimpanan hasil kueri ke Google Spreadsheet tidak didukung oleh alat command line bq atau API.
Anda mungkin mendapatkan pesan error saat mencoba membuka hasil BigQuery dari Google Spreadsheet. Error ini disebabkan oleh Drive SDK API tidak dapat mengakses Google Workspace. Untuk mengatasi masalah ini, Anda harus mengaktifkan akun pengguna untuk mengakses Google Spreadsheet dengan Drive SDK API.
Untuk menyimpan hasil kueri ke Google Spreadsheet, gunakan Google Cloud konsol:
Di Google Cloud konsol, buka halaman BigQuery.
Klik SQL query.
Masukkan kueri GoogleSQL yang valid di area teks Query editor.
Opsional: Untuk mengubah lokasi pemrosesan, klik Edit > Query settings. Untuk Data location, pilih lokasi data Anda.
Klik Run.
Saat hasilnya ditampilkan, klik Save results , lalu pilih Google Sheets.
Jika perlu, ikuti petunjuk untuk login ke akun pengguna Anda, lalu klik Allow untuk memberikan izin kepada BigQuery guna menulis data ke folder
My DriveGoogle Drive Anda.Setelah mengikuti petunjuknya, Anda akan menerima email yang mengonfirmasi bahwa alat klien BigQuery telah terhubung ke akun pengguna Anda. Email tersebut berisi informasi tentang izin yang Anda berikan beserta langkah-langkah untuk menghapus izin tersebut.
Setelah hasilnya disimpan, pesan yang mirip dengan berikut ini akan muncul di bawah hasil kueri di Google Cloud konsol:
Saved to Sheets as "results-20190225-103531". Klik link dalam pesan untuk melihat hasil Anda di Google Spreadsheet, atau buka folderMy Drive, lalu buka file secara manual.Saat Anda menyimpan hasil kueri ke Google Spreadsheet, nama file dimulai dengan
results-[DATE], dan[DATE]adalah tanggal hari ini dalam formatYYYYMMDD.
Memecahkan masalah penyimpanan hasil ke Google Spreadsheet
Saat menyimpan data dari BigQuery ke Google Spreadsheet, Anda mungkin mendapati bahwa beberapa sel dalam sheet tersebut kosong. Hal ini terjadi ketika data yang Anda tulis ke sel melebihi batas Google Spreadsheet,yaitu 50.000 karakter. Untuk mengatasi hal ini, gunakan a fungsi string dalam kueri GoogleSQL untuk membagi kolom yang berisi data panjang menjadi dua kolom atau lebih, lalu simpan kembali hasilnya ke sheet.
Menyimpan hasil kueri ke Cloud Storage
Anda dapat mengekspor hasil kueri ke Cloud Storage di Google Cloud konsol dengan langkah-langkah berikut:
Buka halaman BigQuery di Google Cloud konsol.
Klik SQL query.
Masukkan kueri GoogleSQL yang valid di area teks Query editor.
Klik Run.
Saat hasilnya ditampilkan, klik Save results > Cloud Storage.
Pada dialog Export to Google Cloud Storage:
- Untuk GCS Location, cari bucket, folder, atau file tempat Anda ingin mengekspor data.
- Untuk Export format, pilih format untuk data yang diekspor: CSV, JSON (Newline Dibatasi), Avro, atau Parquet.
- Untuk Compression, pilih format kompresi atau pilih
Nonejika tidak ada kompresi.
Klik Save untuk mengekspor hasil kueri.
Untuk memeriksa progres tugas, luaskan panel Job history , lalu cari tugas dengan jenis EXTRACT.
Membatasi download hasil kueri
Untuk mencegah pengguna mendownload hasil kueri dari Google Cloud konsol, gunakan salah satu metode berikut:
Konfigurasi perimeter Kontrol Layanan VPC untuk mencegah pemindahan data yang tidak sah. Tindakan ini akan memblokir pengguna untuk mendownload dan mengekspor data di luar batas perimeter yang ditetapkan.
Hubungi Cloud Customer Care untuk meminta agar project atau organisasi Anda ditambahkan ke daftar terbatas. Google Cloud Tindakan ini akan menonaktifkan opsi download dan ekspor data langsung di dalam Google Cloud konsol.
Langkah berikutnya
- Pelajari cara mengekspor tabel ke file JSON secara terprogram.
- Pelajari kuota untuk tugas ekstrak.
- Pelajari tentang harga penyimpanan BigQuery.