Membuat kueri data Blob Storage
Dokumen ini menjelaskan cara membuat kueri data yang tersimpan dalam tabel BigLake Azure Blob Storage.
Sebelum memulai
Pastikan Anda memiliki tabel BigLake Blob Storage.
Peran yang diperlukan
Untuk membuat kueri tabel BigLake Blob Storage, pastikan pemanggil BigQuery API memiliki peran berikut:
- BigQuery Connection User (
roles/bigquery.connectionUser
) - BigQuery Data Viewer (
roles/bigquery.dataViewer
) - BigQuery User (
roles/bigquery.user
)
Pemanggil dapat berupa akun Anda atau akun layanan koneksi Blob Storage. Bergantung pada izin yang Anda miliki, Anda dapat memberikan peran ini pada diri sendiri atau meminta administrator untuk memberikannya. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Melihat peran yang dapat diberikan pada resource.
Untuk melihat izin yang pasti diperlukan untuk membuat kueri tabel BigLake Blob Storage, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
bigquery.connections.use
bigquery.jobs.create
bigquery.readsessions.create
(Hanya diperlukan jika Anda membaca data dengan BigQuery Storage Read API)bigquery.tables.get
bigquery.tables.getData
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran yang telah ditetapkan sebelumnya.
Membuat Kueri Tabel BigLake Blob Storage
Setelah membuat tabel BigLake Blob Storage, Anda dapat membuat kuerinya menggunakan sintaksis GoogleSQL, sama seperti jika tabel tersebut adalah tabel BigQuery standar.
Hasil kueri yang di-cache disimpan dalam tabel sementara BigQuery. Untuk membuat kueri tabel BigLake sementara, lihat Membuat kueri tabel BigLake sementara. Untuk mengetahui informasi selengkapnya tentang batasan dan kuota BigQuery Omni, lihat batasan dan kuota.
Saat membuat pemesanan di region BigQuery Omni, gunakan edisi Enterprise. Untuk mempelajari cara membuat pemesanan dengan edisi, lihat Membuat pemesanan.
Jalankan kueri pada tabel BigLake Blob Storage:
Di Konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
SELECT * FROM DATASET_NAME.TABLE_NAME;
Ganti kode berikut:
DATASET_NAME
: nama set data yang Anda buatTABLE_NAME
: tabel BigLake dengan nama yang Anda buatKlik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
Membuat kueri tabel sementara
BigQuery membuat tabel sementara untuk menyimpan hasil kueri. Untuk mengambil hasil kueri dari tabel sementara, Anda dapat menggunakan Konsol Google Cloud atau BigQuery API.
Pilih salah satu opsi berikut:
Konsol
Saat membuat kueri tabel BigLake yang merujuk ke data cloud eksternal, Anda dapat melihat hasil kueri yang ditampilkan di Konsol Google Cloud.
API
Untuk membuat kueri tabel BigLake menggunakan API, ikuti langkah-langkah berikut:
- Buat Objek tugas.
- Panggil metode
jobs.insert
untuk menjalankan kueri secara asinkron, atau metodejobs.query
untuk menjalankan kueri secara sinkron, meneruskan objekJob
. - Baca baris yang memuat
jobs.getQueryResults
dengan meneruskan referensi tugas yang diberikan, dan metodetabledata.list
dengan meneruskan referensi tabel tertentu dari hasil kueri.
Membuat kueri kolom semu _FILE_NAME
Tabel yang didasarkan pada sumber data eksternal menyediakan kolom pseudo bernama _FILE_NAME
. Kolom ini berisi jalur yang sepenuhnya memenuhi syarat ke file yang memiliki baris tersebut. Kolom ini hanya tersedia untuk tabel yang mereferensikan data eksternal yang disimpan di Cloud Storage, Google Drive, Amazon S3, dan Azure Blob Storage.
Nama kolom _FILE_NAME
sudah dicadangkan, yang berarti Anda tidak dapat membuat kolom dengan nama tersebut di tabel Anda. Untuk memilih nilai _FILE_NAME
, Anda harus menggunakan
alias. Contoh kueri berikut menunjukkan pemilihan _FILE_NAME
dengan menetapkan
alias fn
ke kolom semu.
bq query \
--project_id=PROJECT_ID \
--use_legacy_sql=false \
'SELECT
name,
_FILE_NAME AS fn
FROM
`DATASET.TABLE_NAME`
WHERE
name contains "Alex"'
Ganti kode berikut:
-
PROJECT_ID
adalah project ID yang valid (tanda ini tidak diperlukan jika Anda menggunakan Cloud Shell atau jika Anda menetapkan project default di Google Cloud CLI) -
DATASET
adalah nama set data yang menyimpan tabel eksternal permanen -
TABLE_NAME
adalah nama tabel eksternal permanen
Jika kueri memiliki predikat filter di kolom semu _FILE_NAME
, BigQuery akan mencoba melewati file pembacaan yang tidak memenuhi filter. Rekomendasi yang serupa dengan
membuat kueri tabel berpartisi waktu penyerapan menggunakan kolom semu
berlaku saat membuat predikat kueri dengan kolom semu _FILE_NAME
.
Langkah selanjutnya
- Pelajari cara menggunakan SQL di BigQuery.
- Pelajari BigQuery Omni.
- Pelajari kuota BigQuery.