Metastore Hive

Dataproc Metastore è un servizio completamente gestito, ad alta disponibilità, metastore (HMS) Apache Hive con riparazione automatica, serverless, in esecuzione su Google Cloud.

Per gestire completamente i metadati, Dataproc Metastore mappa il tuo di dati ad Apache Hive tabelle.

Versioni di Apache Hive supportate

Dataproc Metastore supporta solo versioni specifiche di Apache Hive. Per ulteriori informazioni, consulta il criterio della versione di Hive.

In che modo Hive gestisce i metadati

Poiché Dataproc Metastore è un metastore Hive, è importante capire come vengono gestiti i metadati.

Per impostazione predefinita, tutte le applicazioni Hive possono avere tabelle interne gestite o tabelle esterne non gestite. ovvero i metadati archiviati in un Il servizio Dataproc Metastore può esistere in tabelle sia interne che esterne.

Quando modifichi i dati, un servizio Dataproc Metastore (Hive) tratta tabelle interne ed esterne in modo diverso.

  • Tabelle interne. Gestisce sia i metadati che i dati delle tabelle.
  • Tabelle esterne. Gestisce solo i metadati.

Ad esempio, se elimini una definizione di tabella utilizzando l'SQL di Hive DROP TABLE :

drop table foo
  • Tabelle interne. Dataproc Metastore elimina tutti i metadati. Elimina anche i file associati alla tabella.

  • Tabelle esterne. Dataproc Metastore elimina solo i metadati. I dati associati alla tabella vengono conservati.

Directory del warehouse Hive

Dataproc Metastore utilizza la directory del warehouse Hive per gestire le tabelle interne. La directory del warehouse Hive è dove si trovano i dati effettivi archiviati.

Quando usi un servizio Dataproc Metastore, il warehouse Hive predefinito è un bucket Cloud Storage. Solo Dataproc Metastore supporta l'uso dei bucket Cloud Storage per la directory del warehouse. In confronto, questo è diverso da un HMS on-premise, in cui il magazzino Hive di solito rimanda a una directory locale.

Questo bucket viene creato automaticamente ogni volta che crei Servizio Dataproc Metastore. Questo valore può essere modificato impostando un override della configurazione Hive Metastore sulla hive.metastore.warehouse.dir proprietà.

Elementi Cloud Storage

Il bucket degli artefatti archivia gli artefatti di Dataproc Metastore, come metadati esportati e dati di tabelle interne gestite.

Quando crei un servizio Dataproc Metastore, viene eseguito il Cloud Storage viene creato automaticamente nel tuo progetto. Per impostazione predefinita, il bucket degli artefatti e la directory del warehouse puntano allo stesso bucket. Tu non può modificare la località del bucket degli artefatti, ma puoi modificare la posizione della directory del warehouse Hive.

Il bucket degli artefatti si trova nella seguente località:

  • gs://your-artifacts-bucket/hive-warehouse.
  • Ad esempio, gs://gcs-your-project-name-0825d7b3-0627-4637-8fd0-cc6271d00eb4.

Accedi alla directory del warehouse Hive

Dopo che il bucket è stato creato automaticamente, assicurati che i tuoi account di servizio Dataproc disporre dell'autorizzazione per accedere alla directory del warehouse Hive.

  • Per accedere alla directory del warehouse a livello di oggetto (ad esempio, gs://mybucket/object), concedi agli account di servizio Dataproc l'accesso in lettura e scrittura all'oggetto Storage del bucket, utilizzando il ruolo roles/storage.objectAdmin. Questo ruolo deve essere impostato a livello di bucket o superiore.

  • Per accedere alla directory del warehouse quando utilizzi una cartella di primo livello, ad esempio gs://mybucket, concedi agli account di servizio Dataproc l'accesso in lettura e scrittura all'oggetto di archiviazione del bucket, utilizzando il ruolo roles/storage.storageAdmin.

Se la directory del warehouse Hive non si trova nello stesso progetto della Dataproc Metastore, assicurarsi che Dataproc Metastore agente di servizio dispone dell'autorizzazione per accedere alla directory del warehouse Hive. Il servizio per un progetto Dataproc Metastore service-PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com. Concedi all'agente di servizio l'accesso in lettura e scrittura al bucket utilizzando roles/storage.objectAdmin.

Trova la directory del warehouse Hive

  1. Apri la pagina Dataproc Metastore.
  2. Fai clic sul nome del servizio.

    Si apre la pagina dei dettagli del servizio.

  3. Nella tabella di configurazione, trova Override configurazione di Metastore > hive.metastore.warehouse.dir.

  4. Trova il valore che inizia con gs://.

    Questo valore è la posizione della directory del warehouse Hive.

    Valori hive.metastore.warehouse.dir

Modifica la directory del warehouse Hive

Per utilizzare il tuo bucket Cloud Storage con Dataproc Metastore, imposta un override della configurazione Hive Metastore in modo che punti alla nuova località del bucket.

Se modifichi la directory di warehouse predefinita, segui questi suggerimenti.

  • Non utilizzare la radice del bucket Cloud Storage (gs://mybucket) per archiviare Tabelle Hive.

  • Assicurati che il tuo account di servizio VM Dataproc Metastore dispone dell'autorizzazione ad accedere alla directory del warehouse Hive.

  • Per ottenere risultati ottimali, utilizza i bucket Cloud Storage che si trovano nella directory della stessa regione del servizio Dataproc Metastore. Sebbene Dataproc Metastore consente bucket tra regioni, le risorse distribuite hanno un rendimento migliore. Ad esempio, un bucket UE multiregionale non funziona bene con un servizio us-central1. Risultati dell'accesso tra regioni in latenza maggiore, mancanza di isolamento per gli errori a livello di regione e addebiti per i servizi tra regioni e la larghezza di banda della rete.

Per modificare la directory del warehouse Hive

  1. Apri la pagina Dataproc Metastore.
  2. Fai clic sul nome del servizio.

    Si apre la pagina dei dettagli del servizio.

  3. Nella tabella di configurazione, individua Override della configurazione di Metastore > hive.metastore.warehouse.dir.

  4. Modifica il valore hive.metastore.warehouse.dir nella posizione del nuovo di sincronizzare la directory di una VM con un bucket. Ad esempio, gs://my-bucket/path/to/location.

Elimina il bucket

L'eliminazione del servizio Dataproc Metastore non avviene automaticamente per eliminare il bucket degli artefatti di Cloud Storage. Il bucket non viene automaticamente è stata eliminata perché potrebbe contenere dati post-servizio utili. Per eliminare il bucket, un'operazione di eliminazione di Cloud Storage.

Passaggi successivi