Pengantar sumber data eksternal

Halaman ini menyediakan ringkasan tentang proses kueri data yang disimpan di luar BigQuery.

Sumber data eksternal adalah sumber data yang dapat Anda kueri langsung dari BigQuery, meskipun data tersebut tidak disimpan di penyimpanan BigQuery. Misalnya, Anda mungkin memiliki data di database Google Cloud lain, di file di Cloud Storage, atau di produk cloud yang berbeda sama sekali yang ingin Anda analisis di BigQuery, tetapi Anda tidak yang telah siap untuk bermigrasi.

Kasus penggunaan untuk sumber data eksternal mencakup hal berikut:

  • Untuk workload extract-load-transform (ELT), memuat dan membersihkan data Anda dalam satu penerusan dan menulis hasil yang telah dibersihkan ke penyimpanan BigQuery, menggunakan kueri CREATE TABLE ... AS SELECT.
  • Menggabungkan tabel BigQuery dengan data yang sering berubah dari sumber data eksternal. Dengan membuat kueri sumber data eksternal secara langsung, Anda tidak perlu memuat ulang data ke penyimpanan BigQuery setiap kali data berubah.

BigQuery memiliki dua mekanisme berbeda untuk membuat kueri data eksternal: tabel eksternal dan kueri gabungan.

Tabel eksternal

Tabel eksternal mirip dengan tabel BigQuery standar, karena tabel ini menyimpan metadata dan skema di penyimpanan BigQuery. Namun, data mereka berada di sumber eksternal.

Tabel eksternal terdapat di dalam set data, dan Anda dapat mengelolanya dengan cara yang sama seperti mengelola tabel BigQuery standar. Misalnya, Anda dapat menampilkan properti tabel, menetapkan kontrol akses, dan seterusnya. Anda dapat membuat kueri tabel ini dan umumnya dapat menggabungkannya dengan tabel lain.

Ada empat jenis tabel eksternal:

  • Tabel BigLake
  • Tabel BigQuery Omni
  • Tabel objek
  • Tabel eksternal non-BigLake

Tabel BigLake

Tabel BigLake memungkinkan Anda membuat kueri data terstruktur di penyimpanan data eksternal dengan delegasi akses. Delegasi akses akan memisahkan akses ke tabel BigLake dari akses ke penyimpanan data yang mendasarinya. Koneksi eksternal yang terkait dengan akun layanan digunakan untuk terhubung ke penyimpanan data. Akun layanan menangani pengambilan data dari penyimpanan data, maka Anda hanya perlu memberi pengguna akses ke tabel BigLake. Hal ini memungkinkan Anda menerapkan keamanan yang mendetail di level tabel, termasuk keamanan tingkat baris dan tingkat kolom. Untuk tabel BigLake berdasarkan Cloud Storage, Anda juga dapat menggunakan penyamaran data dinamis. Untuk mempelajari lebih lanjut solusi analisis multi-cloud yang menggunakan tabel BigLake dengan data Amazon S3 atau Blob Storage, lihat BigQuery Omni.

Untuk informasi selengkapnya, lihat Pengantar tabel BigLake.

Tabel objek

Tabel objek dapat Anda gunakan untuk menganalisis data tidak terstruktur di Cloud Storage. Anda dapat melakukan analisis dengan fungsi jarak jauh atau melakukan inferensi dengan menggunakan BigQuery ML, lalu menggabungkan hasil operasi ini dengan data terstruktur lainnya di BigQuery.

Seperti tabel BigLake, tabel objek menggunakan delegasi akses, yang memisahkan akses ke tabel objek dari akses ke objek Cloud Storage. Koneksi eksternal yang terkait dengan akun layanan digunakan untuk terhubung ke Cloud Storage, sehingga Anda hanya perlu memberi pengguna akses ke tabel objek. Hal ini memungkinkan Anda menerapkan keamanan level baris dan mengelola objek yang dapat diakses pengguna.

Untuk mengetahui informasi selengkapnya, lihat Pengantar tabel objek.

Tabel eksternal non-BigLake

Tabel eksternal non-BigLake memungkinkan Anda membuat kueri data terstruktur di penyimpanan data eksternal. Untuk membuat kueri tabel eksternal non-BigLake, Anda harus memiliki izin ke tabel eksternal dan sumber data eksternal. Misalnya, untuk membuat kueri tabel eksternal non-BigLake yang menggunakan sumber data di Cloud Storage, Anda harus memiliki izin berikut:

  • bigquery.tables.getData
  • bigquery.jobs.create
  • storage.buckets.get
  • storage.objects.get

Untuk informasi selengkapnya, lihat Pengantar tabel eksternal.

Kueri gabungan

Kueri gabungan memungkinkan Anda mengirim pernyataan kueri ke database AlloyDB, Spanner, atau Cloud SQL dan mendapatkan kembali hasilnya sebagai tabel sementara. Kueri gabungan menggunakan BigQuery Connection API untuk membuat koneksi dengan AlloyDB, Spanner, atau Cloud SQL. Dalam kueri Anda, gunakan fungsi EXTERNAL_QUERY untuk mengirim pernyataan kueri ke database eksternal, menggunakan dialek SQL database tersebut. Hasilnya dikonversi ke jenis data GoogleSQL.

Untuk informasi selengkapnya, lihat Pengantar kueri gabungan.

Perbandingan fitur sumber data eksternal

Tabel berikut membandingkan perilaku sumber data eksternal:

Tabel BigLake Tabel objek Tabel eksternal non-BigLake Kueri gabungan
Menggunakan delegasi akses Ya, melalui akun layanan Ya, melalui akun layanan Tidak Ya, melalui akun pengguna database (khusus Cloud SQL)
Dapat didasarkan pada beberapa URI sumber Ya Ya Ya (khusus Cloud Storage) Tidak berlaku
Pemetaan baris Baris mewakili konten file Baris mewakili metadata file Baris mewakili konten file Tidak berlaku
Dapat diakses oleh alat pemrosesan data lainnya dengan menggunakan konektor Ya (khusus Cloud Storage) Tidak Ya Tidak berlaku
Dapat digabungkan ke tabel BigQuery lainnya Ya (khusus Cloud Storage) Ya Ya Ya
Dapat diakses sebagai tabel sementara Ya (khusus Cloud Storage) Tidak Ya Ya
Kompatibel dengan Amazon S3 Ya Tidak Tidak Tidak
Kompatibel dengan Azure Storage Ya Tidak Tidak Tidak
Kompatibel dengan Bigtable Tidak Tidak Ya Tidak
Kompatibel dengan Spanner Tidak Tidak Tidak Ya
Kompatibel dengan Cloud SQL Tidak Tidak Tidak Ya
Kompatibel dengan Google Drive Tidak Tidak Ya Tidak
Kompatibel dengan Cloud Storage Ya Ya Ya Tidak

Langkah berikutnya