L'esecuzione di query su una tabella legge i dati dai file Cloud Storage sottostanti utilizzando i metadati gestiti dal catalogo del runtime Lakehouse.
Puoi eseguire query di selezione da motori open source come Spark e Trino oppure direttamente da BigQuery utilizzando la denominazione delle tabelle in quattro parti.
Prima di iniziare
Consulta la panoramica delle tabelle per comprendere i diversi tipi di tabelle e le implicazioni del loro utilizzo.
-
Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud .
-
Abilita l'API BigLake.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (
roles/serviceusage.serviceUsageAdmin), che include l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per eseguire query su una tabella, chiedi all'amministratore di concederti i seguenti ruoli IAM sul progetto e sul bucket di archiviazione:
-
Leggi i dati della tabella in modalità di distribuzione delle credenziali:
Visualizzatore BigLake (
roles/biglake.viewer): il progetto -
Leggi i dati della tabella in modalità di distribuzione delle credenziali non attiva:
- BigLake Viewer (
roles/biglake.viewer) - il progetto - Storage Object Viewer (
roles/storage.objectViewer): il bucket Cloud Storage
- BigLake Viewer (
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Eseguire una query su una tabella.
Seleziona tutti i dati della tabella:
Spark
spark.sql("SELECT * FROM TABLE_NAME;").show()
Trino
SELECT * FROM TABLE_NAME;
BigQuery
Per eseguire query sulle tabelle del catalogo REST Iceberg di Lakehouse da BigQuery, utilizza il nome della tabella in quattro parti nella query con il seguente formato: PROJECT_NAME.CATALOG_ID.NAMESPACE_OR_SCHEMA_NAME.TABLE_NAME.
SELECT * FROM `PROJECT_NAME.BIGLAKE_CATALOG_ID.NAMESPACE_OR_SCHEMA_NAME.TABLE_NAME`;
Sostituisci i seguenti valori:
PROJECT_NAME: il Google Cloud progetto proprietario del catalogo nel catalogo del runtime Lakehouse. Il progetto Google Cloud selezionato nella console Google Cloud viene fatturato per la query.CATALOG_ID: l'ID del catalogo runtime Lakehouse specificato al momento della creazione del catalogo. Questo identificatore viene utilizzato come nome del catalogo nelle query BigQuery.Questo identificatore è anche il nome del bucket Cloud Storage.
Ad esempio, se hai creato il bucket per archiviare il catalogo e l'hai chiamato
iceberg-bucket, sia il nome del catalogo sia quello del bucket sonoiceberg-bucket. Questo valore viene utilizzato in un secondo momento quando esegui query sul catalogo in BigQuery, utilizzando la sintassi P.C.N.T. Ad esempio:my-project.biglake_catalog_id.quickstart_namespace.quickstart_table.NAMESPACE_OR_SCHEMA_NAME: lo spazio dei nomi della tabella se utilizzi Spark o il nome dello schema della tabella se utilizzi Trino.TABLE_NAME: il nome della tabella.
Passaggi successivi
- Scopri come modificare una tabella.