L'integrazione di Spark e Hive con il catalogo runtime Lakehouse elimina il sovraccarico operativo di gestione di un Hive Metastore (HMS) autogestito, consentendo al contempo la condivisione unificata dei metadati e le query dirette sulle tabelle in BigQuery.
Questo documento evidenzia i vincoli funzionali e le considerazioni sul servizio di questa integrazione. Prima di eseguire la migrazione o creare le pipeline di database open source nel catalogo del runtime Lakehouse, esamina queste limitazioni per determinare se questa anteprima soddisfa i tuoi requisiti tecnici.
Se stai cercando istruzioni per la configurazione e le query anziché limiti, consulta Utilizzare Spark e Hive con il catalogo del runtime Lakehouse.
Limitazioni del catalogo runtime Lakehouse
Questa sezione elenca le limitazioni dell'utilizzo del catalogo del runtime Lakehouse con vari servizi.
Limitazioni di Metastore
- Managed Service for Apache Spark supporta solo i job PySpark con Lakehouse Metastore.
- L'API Dataproc non supporta l'impostazione delle proprietà di Lakehouse
Metastore nel campo
properties. - Non puoi creare cluster Managed Service for Apache Spark che utilizzano Kerberos, perché il catalogo del runtime Lakehouse non supporta i token di delega o le API delle chiave primaria.
- I database e le tabelle possono utilizzare un
location_uriCloud Storage distinto dal catalogo Hive, a condizione che il bucket Cloud Storage si trovi nella stessa regione del catalogo Hive. - Il catalogo Hive non può contenere spazi dei nomi e tabelle Iceberg. Per creare e utilizzare spazi dei nomi e tabelle Iceberg, utilizza invece il catalogo Lakehouse runtime.
Limitazioni delle tabelle
- Il cambio di nome delle tabelle non è supportato.
- Il cambio di nome della partizione non è supportato.
- L'eliminazione di tabelle o database non comporta la rimozione dei file associati da Cloud Storage.
- La ricerca senza distinzione tra maiuscole e minuscole non è supportata.
- Il clustering e il bucketing non sono supportati.
Dimensione del batch della partizione
Il catalogo runtime Lakehouse supporta l'archiviazione e il recupero delle informazioni di partizionamento da utilizzare nel pruning delle partizioni. È ottimizzata per le letture rispetto alle scritture, il che si traduce in prestazioni delle query più rapide tramite l'eliminazione delle partizioni.
Per ottimizzare il rendimento dell'importazione delle partizioni, le dimensioni delle partizioni batch sono limitate a 900.
Imposta la seguente configurazione per le proprietà Hive e Spark che determinano la dimensione del batch delle operazioni di partizionamento:
SET hive.msck.repair.batch.size = 900;SET spark.sql.addPartitionInBatch.size = 900;
Limitazioni di BigQuery
- Per impostazione predefinita, BigQuery non supporta i tipi di dati
ARRAY<ARRAY<>>oARRAY<MAP<>>. Il supporto perMAPdeve essere aggiunto a una lista consentita. Contatta biglake-help@google.com se i tuoi carichi di lavoro utilizzanoMAPin modo esteso. - I tipi di chiave
MAPsupportano solo tipi di dati primitivi. Non puoi utilizzareARRAY,STRUCToMAPcome tipi di chiave. - Durante l'anteprima, BigQuery può eseguire query solo sui dati di Cloud Storage. Si applicano le seguenti limitazioni:
- Gli URI delle posizioni delle tabelle non possono includere un carattere jolly (
*). - Gli URI delle posizioni delle tabelle devono essere directory.
- Gli URI delle posizioni delle tabelle non possono includere un carattere jolly (
Limitazioni della replica tra regioni e del ripristino di emergenza
Il catalogo runtime Lakehouse offre la replica tra regioni e il disaster recovery per migliorare la disponibilità e la resilienza del catalogo.
Quando utilizzi il catalogo runtime Lakehouse con i cataloghi Hive, si applicano le seguenti limitazioni:
I cataloghi Hive non forniscono funzionalità di ripristino di emergenza complete, come il failover avviato dall'utente.
Quando crei un catalogo Hive, devi impostare il relativo
primary_locationin modo che corrisponda alla regione del bucket Cloud Storage. Il catalogo del runtime Lakehouse copia automaticamente i metadati in una regione secondaria in base alla configurazione a due regioni o multiregionale del bucket. Questa copia secondaria dei metadati è di sola lettura e non puoi promuoverla a primaria. La ridondanza dei dati si basa sulle impostazioni a due regioni o multiregionali del bucket, che sono separate dalla replica dei metadati del catalogo del runtime Lakehouse.
Considerazioni sull'utilizzo del catalogo runtime Lakehouse come sostituto del metastore Hive
La versione di anteprima del catalogo runtime Lakehouse supporta un sottoinsieme
dell'interfaccia Hive Metastore. Questo progetto dà la priorità alla compatibilità con
Spark ExternalCatalog, che non richiede la piena compatibilità con Hive
Metastore.
Mappatura delle risorse
La seguente tabella mappa le risorse Hive Metastore alle risorse del catalogo runtime Lakehouse e alle autorizzazioni Identity and Access Management (IAM) richieste.
| Risorsa Hive Metastore | Risorsa del catalogo runtime Lakehouse | Autorizzazioni IAM |
|---|---|---|
| Catalogo | Catalogo | biglake.catalogs.* |
| Database | Database | biglake.namespaces.* |
| Tabella | Tabella | biglake.tables.* |
Governance
Hive Metastore (HMS) fornisce la governance a livello di tabella, colonna e partizione. Il catalogo runtime Lakehouse fornisce autorizzazioni IAM a livello di tabella e di partizione. La governance a livello di colonna non è supportata.
Limitazioni dello spazio di archiviazione
- Si applicano tutte le limitazioni delle tabelle esterne BigQuery.
Limitazioni delle partizioni
- Il monitoraggio delle statistiche a livello di colonna a livello di partizione non è supportato.
- L'API
BatchCreateHivePartitionslimita le chiamate a 900 partizioni.