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 quotas.
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 merujuk ke data eksternal yang tersimpan di Cloud Storage, Google Drive, Amazon S3, dan Azure Blob Storage.
Nama kolom _FILE_NAME
adalah nama yang dicadangkan, yang berarti Anda tidak dapat membuat kolom dengan nama tersebut di tabel mana pun. Untuk memilih nilai _FILE_NAME
, Anda harus menggunakan alias. Contoh kueri berikut menunjukkan pemilihan _FILE_NAME
dengan menetapkan
fn
alias ke kolom pseudo.
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 pada kolom semu _FILE_NAME
, BigQuery akan mencoba melewati pembacaan file yang tidak memenuhi filter. Rekomendasi
yang serupa dengan
membuat kueri tabel yang dipartisi berdasarkan waktu penyerapan menggunakan kolom pseudo
berlaku saat membuat predikat kueri dengan kolom pseudo _FILE_NAME
.
Langkah selanjutnya
- Pelajari cara menggunakan SQL di BigQuery.
- Pelajari BigQuery Omni.
- Pelajari kuota BigQuery.