Questa pagina spiega come importare i metadati in un Dataproc Metastore completamente gestito di Google Cloud.
La funzionalità di importazione dei metadati ti consente di compilare una query servizio Dataproc Metastore con metadati archiviati in un formato di archiviazione.
Questi metadati portatili vengono in genere esportati da un altro servizio Dataproc Metastore o da un metastore Hive (HMS) autogestito.
Informazioni sull'importazione dei metadati
Puoi importare i seguenti formati file in Dataproc Metastore:
- Un insieme di file Avro archiviati in una cartella.
- Un singolo file di dump MySQL archiviato in una cartella di Cloud Storage.
I file MySQL o Avro che stai importando devono essere generati da un per configurare un database.
Se i file sono in un formato diverso, ad esempio PostgreSQL, devi converli in formato Avro o MySQL. Dopo la conversione, puoi importarle in Dataproc Metastore.
Avro
Le importazioni basate su Avro sono supportate solo per le versioni Hive 2.3.6 e 3.1.2. Quando
importi file Avro, Dataproc Metastore si aspetta una serie di
file <table-name>.avro
per ogni tabella del database.
Per importare i file Avro, il servizio Dataproc Metastore può utilizzare il tipo di database MySQL o Spanner.
MySQL
Le importazioni basate su MySQL sono supportate per tutte le versioni di Hive. Quando importi file MySQL, Dataproc Metastore si aspetta un singolo file SQL contenente tutte le informazioni sulle tabelle. I dump MySQL ottenuti da un cluster Dataproc utilizzando SQL nativo vengono .
Per importare i file MySQL, il servizio Dataproc Metastore deve utilizzare il tipo di database MySQL. Il tipo di database Spanner non supporta le importazioni MySQL.
Considerazioni sull'importazione
L'importazione sovrascrive tutti i metadati esistenti archiviati in un Servizio Dataproc Metastore.
La funzionalità di importazione dei metadati importa solo i metadati. I dati creati da Apache Hive nelle tabelle interne non vengono replicati nell'importazione.
L'importazione non trasforma i contenuti del database e non gestisce il file migrazione. Se sposti i dati in una posizione diversa, devi manualmente aggiorna le località e lo schema dei dati della tabella Servizio Dataproc Metastore.
L'importazione non ripristina né sostituisce la configurazione IAM granulare criteri.
Se utilizzi i Controlli di servizio VPC, puoi importare i dati solo da un bucket Cloud Storage che si trova nello stesso perimetro di servizio del servizio Metastore Dataproc.
Prima di iniziare
- Attiva Dataproc Metastore nel tuo progetto.
- Comprendi i requisiti di networking specifici del tuo progetto.
- Crea un servizio Dataproc Metastore.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per importare i metadati in Dataproc Metastore, chiedi all'amministratore di concederti i seguenti ruoli IAM:
-
Per importare i metadati:
-
Editor Dataproc Metastore (
roles/metastore.editor
) sul servizio di metadati. -
Amministratore Dataproc Metastore (
roles/metastore.admin
) del progetto.
-
Editor Dataproc Metastore (
-
Per MySQL, per utilizzare l'oggetto Cloud Storage (file di dump SQL) per l'importazione:
concedi al tuo account utente e all'agente di servizio Dataproc Metastore il ruolo Visualizzatore oggetti Storage (
roles/storage.objectViewer
) nel bucket Cloud Storage contenente il dump dei metadati da importare. -
Per Avro, per utilizzare il bucket Cloud Storage per l'importazione:
concedi al tuo account utente e all'agente di servizio Dataproc Metastore il ruolo Visualizzatore oggetti Storage (
roles/storage.objectViewer
) nel bucket Cloud Storage contenente il dump dei metadati da importare.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per importare i metadati in Dataproc Metastore. Per vedere le autorizzazioni esatte obbligatorie, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per importare metadati in Dataproc Metastore, sono necessarie le seguenti autorizzazioni:
-
Per importare i metadati:
metastore.imports.create
nel servizio Metastore. -
Per MySQL, per utilizzare l'oggetto Cloud Storage (file di dump SQL) per l'importazione, concedi il tuo account utente e l'agente di servizio Dataproc Metastore:
storage.objects.get
sul bucket Cloud Storage contenente il dump dei metadati da importare. -
Per Avro, per utilizzare il bucket Cloud Storage per l'importazione, concedi al tuo account utente e all'agente di servizio Dataproc Metastore:
storage.objects.get
autorizzazione sul bucket Cloud Storage contenente il dump dei metadati da importare.
Potresti anche riuscire a ottenere queste autorizzazioni con ruoli personalizzati altri ruoli predefiniti.
Per ulteriori informazioni su ruoli e autorizzazioni specifici di Dataproc Metastore, consulta la panoramica di IAM di Dataproc Metastore.Importare i metadati
L'operazione di importazione è un processo in due passaggi. Innanzitutto, prepara i file di importazione e poi importali in Dataproc Metastore.
Quando avvii un'importazione, Dataproc Metastore esegue un'operazione Hive della convalida dello schema dei metadati. Questa convalida verifica le tabelle nel dump SQL e i nomi file per Avro. Se manca una tabella, l'importazione non va a buon fine e viene visualizzato un messaggio di errore che descrive la tabella mancante.
Per verificare la compatibilità dei metadati Hive prima di un'importazione, puoi utilizzare il Dataproc Metastore Toolkit.
Preparare i file di importazione prima dell'importazione
Prima di poter importare i file in Dataproc Metastore, devi copiare i file di dump dei metadati in Cloud Storage, ad esempio nel bucket Cloud Storage degli elementi.
Spostare i file in Cloud Storage
Crea un dump del database esterno che vuoi importare in Dataproc Metastore.
Per istruzioni sulla creazione di un dump del database, consulta le seguenti pagine:
Carica i file in Cloud Storage.
Assicurati di annotare il percorso di Cloud Storage in cui carichi i file dovrai utilizzarlo in un secondo momento per eseguire l'importazione.
Se importi file MySQL, carica il file SQL in un Bucket Cloud Storage.
Se importi file Avro, caricali in una cartella Cloud Storage.
- L'importazione Avro deve includere un file Avro per ogni tabella Hive, anche se vuota.
- I nomi file Avro devono essere nel formato
<table-name>.avro
.<table-name>
deve essere scritto tutto in maiuscolo. Ad esempio:AUX_TABLE.avro
.
Importa i file in Dataproc Metastore
Prima di importare i metadati, consulta le considerazioni sull'importazione.
Mentre è in corso un'importazione, non puoi aggiornare Dataproc Metastore servizio, ad esempio la modifica delle impostazioni di configurazione. Tuttavia, puoi ancora utilizzarlo per le normali operazioni, ad esempio per accedere ai relativi metadati da cluster Dataproc o autogestiti collegati.
Console
Nella console Google Cloud, apri la pagina Dataproc Metastore:
Nella pagina Dataproc Metastore, fai clic sul nome del servizio in cui vuoi importare i metadati.
Si apre la pagina Dettagli del servizio.
Nella barra di navigazione, fai clic su Importa.
Viene visualizzata la finestra di dialogo Importa.
Inserisci il Nome importazione.
Nella sezione Destinazione, scegli MySQL o Avro.
Nel campo URI di destinazione, fai clic su Sfoglia e seleziona l'URI Cloud Storage in cui vuoi importa i tuoi file.
Puoi anche inserire manualmente la località del bucket nel campo di testo fornito. Utilizza il formato seguente:
bucket/object
obucket/folder/object
.(Facoltativo) Inserisci una descrizione dell'importazione.
Puoi modificare la descrizione nella pagina Dettagli del servizio.
Per aggiornare il servizio, fai clic su Importa.
Al termine dell'importazione, questi vengono visualizzati in una tabella nella pagina Dettagli servizio della scheda Importazione/esportazione.
Interfaccia a riga di comando gcloud
Per importare i metadati, esegui questo comando
gcloud metastore services import gcs
:gcloud metastore services import gcs SERVICE_ID \ --location=LOCATION \ --import-id=IMPORT_ID \ --description=DESCRIPTION \ --dump-type=DUMP_TYPE \ --database-dump=DATABASE_DUMP
Sostituisci quanto segue:
SERVICE_ID
: l'ID o il nome completo del servizio Dataproc Metastore.LOCATION
: la regione Google Cloud in cui risiede il servizio Dataproc Metastore.IMPORT_ID
: un ID o un nome completo per l'importazione dei metadati. Ad esempio,import1
.DESCRIPTION
: facoltativo, una descrizione dell'importazione. Puoi modificare questa impostazione in un secondo momento utilizzandogcloud metastore services imports update IMPORT
.DUMP_TYPE
: il tipo di database esterno che stai importando. I valori accettati includonomysql
eavro
. Il valore predefinito èmysql
.DATABASE_DUMP
: il percorso del bucket Cloud Storage contenente i file del database. Questo percorso deve iniziare congs://
. Per Avro, fornisci il percorso della cartella in cui sono archiviati i file Avro (la cartella Cloud Storage). Per MySQL, fornisci il percorso del file MySQL (l'oggetto Cloud Storage).
Verifica che l'importazione sia riuscita.
REST
Segui le istruzioni dell'API per importare metadati in un servizio utilizzando Explorer API.
Utilizzando l'API, puoi creare, elencare, descrivere e aggiornare le importazioni, non puoi eliminare le importazioni. Tuttavia, l'eliminazione di un servizio Dataproc Metastore elimina tutte le istanze nidificate e le importazioni.
Se l'importazione va a buon fine, Dataproc Metastore torna automaticamente allo stato attivo. Se l'importazione non va a buon fine, Dataproc Metastore esegue il rollback allo stato precedente integro.
Visualizzazione della cronologia di importazione
Per visualizzare la cronologia di importazione di un servizio Dataproc Metastore nella console Google Cloud, completa i seguenti passaggi:
- Nella console Google Cloud, apri la pagina Dataproc Metastore.
Nella barra di navigazione, fai clic su Importa/Esporta.
La cronologia delle importazioni viene visualizzata nella tabella Cronologia delle importazioni.
La cronologia mostra fino alle ultime 25 importazioni.
L'eliminazione di un servizio Dataproc Metastore comporta anche l'eliminazione di tutta la cronologia di importazione associata.
Risolvere i problemi comuni
Alcuni problemi comuni includono:
- L'importazione non riesce perché le versioni di Hive non corrispondono.
- L'agente di servizio o l'account utente non dispone delle autorizzazioni necessarie.
- Il job non riesce perché il file di database è troppo grande.
Per ulteriore assistenza sulla risoluzione dei problemi più comuni, vedi Scenari di errore di importazione ed esportazione.