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
- Pelajari tabel BigLake lebih lanjut.
- Pelajari tabel objek lebih lanjut.
- Pelajari tabel eksternal lebih lanjut.
- Pelajari kueri gabungan lebih lanjut.
- Pelajari tentang harga BigQuery.