L'integrazione di Spark e Hive con il catalogo runtime Lakehouse elimina il sovraccarico operativo della gestione di un metastore Hive (HMS) self-hosted, 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 runtime Lakehouse, esamina queste limitazioni per determinare se questa anteprima soddisfa i tuoi requisiti tecnici.
Se stai cercando istruzioni di configurazione e query anziché limiti, consulta Utilizzare Spark e Hive con il catalogo runtime Lakehouse.
Limitazioni del catalogo runtime Lakehouse
Questa sezione elenca le limitazioni dell'utilizzo del catalogo runtime Lakehouse con vari servizi.
Limitazioni del 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 runtime Lakehouse non supporta i token di delega o le API delle chiave primaria.
- I database e le tabelle possono utilizzare un
location_uridi Cloud Storage distinto dal catalogo Hive, a condizione che il bucket Cloud Storage si trovi nella stessa regione del catalogo Hive.
Limitazioni delle tabelle
- La ridenominazione delle tabelle non è supportata.
- La ridenominazione delle partizioni non è supportata.
- L'eliminazione di tabelle o database non rimuove i 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 delle partizioni
Il catalogo runtime Lakehouse supporta l'archiviazione e il recupero delle informazioni di partizionamento per l'utilizzo nel pruning delle partizioni. È ottimizzato per le letture rispetto alle scritture, il che si traduce in prestazioni delle query più rapide tramite il pruning delle partizioni.
Per ottimizzare le prestazioni di importazione delle partizioni, la dimensione batch delle partizioni è limitata 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 intensivo. - I tipi di chiave
MAPsupportano solo i 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 località delle tabelle non possono includere un carattere jolly (
*). - Gli URI delle località delle tabelle devono essere directory.
- Gli URI delle località 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 runtime Lakehouse copia automaticamente i metadati in una regione secondaria in base alla configurazione a due regioni o a più regioni 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 a più regioni del bucket, che è separata dalla replica dei metadati del catalogo runtime Lakehouse.
Considerazioni sull'utilizzo del catalogo runtime Lakehouse come sostituzione del metastore Hive
La versione di anteprima del catalogo runtime Lakehouse supporta un sottoinsieme dell'interfaccia del metastore Hive. Questa progettazione dà la priorità alla compatibilità con ExternalCatalog di Spark, che non richiede la piena compatibilità con il metastore Hive.
Mappatura delle risorse
La tabella seguente mappa le risorse del metastore Hive alle risorse del catalogo runtime Lakehouse e alle relative autorizzazioni Identity and Access Management (IAM) richieste.
| Risorsa del metastore Hive | Risorsa del catalogo runtime Lakehouse | Autorizzazione IAM |
|---|---|---|
| Catalogo | Catalogo | biglake.catalogs.* |
| Database | Database | biglake.namespaces.* |
| Tabella | Tabella | biglake.tables.* |
Governance
Il metastore Hive (HMS) fornisce la governance a livello di tabella, colonna e partizione. Il catalogo runtime Lakehouse fornisce autorizzazioni IAM a livello di tabella e 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.