L'endpoint del catalogo Apache Iceberg personalizzato per BigQuery connette i motori di query open source come Apache Spark e Apache Flink al catalogo di runtime Lakehouse. Integrando un plug-in del catalogo personalizzato (BigQueryMetastoreCatalog), questo endpoint ti consente di gestire ed eseguire query sui metadati delle tabelle Apache Iceberg direttamente tramite BigQuery, archiviando i file di dati e metadati in Cloud Storage.
Come funziona il catalogo Iceberg personalizzato
Il catalogo Apache Iceberg personalizzato utilizza un'implementazione del catalogo personalizzata (org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog) fornita in una libreria JAR. Quando i workload di computing vengono eseguiti su Managed Service for Apache Spark, il motore utilizza questo plug-in per interagire con BigQuery come archivio di metadati per le tabelle Apache Iceberg.
Il workflow funziona come segue:
- Implementazione del catalogo: i motori di query caricano il JAR del catalogo BigQuery Metastore e configurano le proprietà del catalogo della sessione Spark per utilizzare
org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog. - Gestione dei metadati: quando crei o modifichi tabelle utilizzando le API Spark SQL o DataFrame, il plug-in archivia le definizioni dei set di dati e delle tabelle in BigQuery.
- Archiviazione dei dati: i file di metadati Apache Iceberg (
metadata.json, elenchi di manifest, manifest) e i file di dati (come i file Parquet) vengono archiviati direttamente nel percorso del warehouse Cloud Storage specificato. - Accesso tra motori: poiché i metadati sono registrati con BigQuery, puoi eseguire query sulle tabelle sia da motori open source come Spark sia direttamente da BigQuery.
Gerarchia delle risorse
Il catalogo Apache Iceberg personalizzato per l'endpoint BigQuery organizza i metadati nella seguente gerarchia:
| Risorsa | Descrizione |
|---|---|
| Progetto | Il progetto Google Cloud che contiene le tue risorse BigQuery e lo spazio di archiviazione del data warehouse di Cloud Storage. |
| Spazio dei nomi (set di dati) | Un set di dati BigQuery configurato per fungere da spazio dei nomi Iceberg, che definisce la località Cloud Storage predefinita per le tabelle create al suo interno. |
| Tabella | Una tabella Apache Iceberg il cui schema, snapshot e puntatori ai metadati vengono monitorati in BigQuery e i cui file di dati si trovano in Cloud Storage. |
Confronta i cataloghi Iceberg personalizzati e i cataloghi REST Iceberg
La seguente tabella riepiloga le principali differenze tra l'endpoint del catalogo Apache Iceberg personalizzato per BigQuery e l'endpoint del catalogo REST Apache Iceberg:
| Funzionalità | Catalogo Iceberg personalizzato per BigQuery | Endpoint del catalogo REST Apache Iceberg (consigliato) |
|---|---|---|
| Standard API Catalog | Plug-in personalizzato (BigQueryMetastoreCatalog) |
API REST Apache Iceberg Catalog standard aperta |
| Gerarchia del catalogo | Progetto > Set di dati BigQuery > Tabella | Progetto > Catalogo > Spazio dei nomi > Tabella (P.C.N.T) |
| Configurazione dello spazio di archiviazione | Percorsi Cloud Storage specificati per set di dati o tabella | Cataloghi con più bucket o con un solo bucket |
| Distribuzione delle credenziali | Non supportato (utilizza credenziali IAM dirette) | Supportato (vende token di accesso allo spazio di archiviazione di breve durata) |
| Disaster recovery | Non supportata | Supportato (replica e failover tra regioni) |
| Consigliati per | Deployment e workflow esistenti | Nuovi workload e integrazioni standard dei client REST Iceberg |
Passaggi successivi
- Configura il catalogo di runtime utilizzando Apache Iceberg 1.10 e versioni successive.
- Configura il catalogo di runtime utilizzando Apache Iceberg 1.9 e versioni precedenti.
- Crea e gestisci le risorse del catalogo.
- Utilizza il catalogo di runtime con le tabelle BigQuery.
- Utilizza le stored procedure di Apache Spark.
- Personalizza altre funzionalità del catalogo.