Importa i metadati in Dataproc Metastore

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Questa pagina spiega come importare i metadati in Dataproc Metastore.

La funzionalità di importazione dei metadati ti consente di completare un servizio Dataproc Metastore con metadati memorizzati su un formato di archiviazione portatile.

In genere, questi metadati portatili vengono esportati da un altro servizio Dataproc Metastore o da un Hive Metastore (HMS) autogestito.

Informazioni sull'importazione dei metadati

Puoi importare i seguenti formati di 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 database relazionale.

Se i file hanno un formato diverso, ad esempio PostgreSQL, devi convertirli nel 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. Durante l'importazione dei file Avro, Dataproc Metastore prevede una serie di file <table-name>.avro per ogni tabella nel database.

MySQL

Le importazioni basate su MySQL sono supportate per tutte le versioni di Hive. Quando importi i file di MySQL, Dataproc Metastore prevede un singolo file SQL che contenga tutte le informazioni della tabella.

Sono supportati anche i dump MySQL ottenuti da un cluster Dataproc che utilizzano Native SQL.

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 la migrazione dei file. Se sposti i dati in una località diversa, devi aggiornare manualmente le posizioni dei dati della tabella e lo schema nel servizio Metastore Dataproc.

  • L'importazione non ripristina o sostituisce i criteri IAM granulari.

  • 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 Dataproc Metastore.

Prima di iniziare

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per importare i metadati in Dataproc Metastore, chiedi al tuo amministratore di concederti i seguenti ruoli IAM:

  • Per importare i metadati:
    • Dataproc Metastore Editor (roles/metastore.editor) nel servizio metadati
    • Amministratore Dataproc Metastore (roles/metastore.admin) nel progetto
  • 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) sul bucket Cloud Storage contenente il dump dei metadati da importare

Per maggiori informazioni sulla concessione dei ruoli, consulta Gestire l'accesso.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per importare i metadati in Dataproc Metastore. Per visualizzare le autorizzazioni esatte necessarie, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

  • Per importare i metadati: metastore.imports.create nel servizio Metastore
  • Affinché 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 nel bucket Cloud Storage contenente il dump dei metadati da importare
  • Per utilizzare Avro, per utilizzare il bucket Cloud Storage per l'importazione, concedi il tuo account utente e l'agente di servizio Dataproc Metastore: storage.objects.get nel bucket Cloud Storage contenente il dump dei metadati da importare

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Per ulteriori informazioni su ruoli e autorizzazioni specifici di Dataproc Metastore, consulta la panoramica IAM di Dataproc

Importare i metadati

L'operazione di importazione è un processo in due fasi. Innanzitutto, preparate i file di importazione, poi li importerai in Dataproc Metastore.

Quando avvii un'importazione, Dataproc Metastore esegue una convalida dello schema dei metadati Hive. Questa convalida verifica le tabelle nel file di dump SQL e i nomi file per Avro. In assenza di una tabella, l'importazione non riesce 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 toolkit Metastore di Dataproc.

Prepara i file di importazione prima dell'importazione

Prima di importare i file in Dataproc Metastore, devi copiare i file di dump dei metadati in Cloud Storage, ad esempio il tuo bucket Cloud Storage di elementi.

Spostare i file su Cloud Storage

  1. Crea un dump del database esterno del database che vuoi importare in Dataproc Metastore.

    Per istruzioni sulla creazione di un dump del database, consulta le pagine seguenti:

  2. Caricare i file in Cloud Storage.

    Assicurati di annotare il percorso di Cloud Storage in cui carichi i file, in quanto dovrai utilizzarlo in seguito 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 di Avro deve includere un file Avro per ogni tabella Hive, anche se la tabella è vuota.
      • I nomi file Avro devono rispettare il formato <table-name>.avro. <table-name> deve essere tutto in maiuscolo. Ad esempio: AUX_TABLE.avro.

Importa i file in Dataproc Metastore

Prima di importare i metadati, esamina le considerazioni sull'importazione.

Mentre è in corso un'importazione, non puoi aggiornare un servizio Dataproc Metastore, ad esempio modificando le impostazioni di configurazione. Tuttavia, puoi comunque utilizzarlo per le normali operazioni, ad esempio per utilizzarlo per accedere ai relativi metadati da Dataproc collegati o da cluster autogestiti.

Console

  1. Nella console Google Cloud, apri la pagina Dataproc Metastore:

    Apri Dataproc Metastore

  2. Nella pagina Dataproc Metastore, fai clic sul nome del servizio in cui vuoi importare i metadati.

    Viene visualizzata la pagina Dettagli del servizio.

    Pagina dei dettagli del servizio
  3. Nella barra di navigazione, fai clic su Importa.

    Viene visualizzata la finestra di dialogo Importa.

  4. Inserisci il Nome importazione.

  5. Nella sezione Destinazione, scegli MySQL o Avro.

  6. Nel campo URI di destinazione, fai clic su Sfoglia e seleziona l'URI Cloud Storage in cui vuoi importare i file.

    Puoi anche inserire manualmente la località del bucket nel campo di testo fornito. Utilizza il formato seguente: bucket/object o bucket/folder/object.

  7. (Facoltativo) Inserisci una Descrizione dell'importazione.

    Puoi modificare la descrizione nella pagina Dettagli del servizio.

  8. Per aggiornare il servizio, fai clic su Importa.

    Una volta completata, l'importazione viene visualizzata in una tabella della pagina Dettagli servizio nella scheda Importa/Esporta.

Interfaccia a riga di comando gcloud

  1. Per aggiornare un servizio, 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: regione di Google Cloud in cui si trova il tuo servizio Dataproc Metastore.
    • IMPORT_ID: un ID o un nome completo dell'importazione dei metadati. Ad esempio, import1.
    • DESCRIPTION: (facoltativo) una descrizione della tua importazione. Puoi modificare questa opzione in un secondo momento utilizzando gcloud metastore services imports update IMPORT.
    • DUMP_TYPE: il tipo del database esterno che stai importando. I valori accettati includono mysql e avro. Il valore predefinito è mysql.
    • DATABASE_DUMP: il percorso di Cloud Storage contenente i file del database. Questo percorso deve iniziare con gs://. Per Avro, specifica 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).
  2. Verifica che l'importazione sia riuscita.

REST

Segui le istruzioni dell'API per importare i metadati in un servizio utilizzando Explorer API.

Con l'API puoi creare, elencare, descrivere e aggiornare le importazioni, ma non puoi eliminare le importazioni. Tuttavia, l'eliminazione di un servizio Dataproc Metastore elimina tutte le importazioni nidificate archiviate.

Quando l'importazione ha esito positivo, Dataproc Metastore torna automaticamente allo stato attivo. Se l'importazione non va a buon fine, Dataproc Metastore esegue il rollback allo stato di stato precedente.

Visualizzazione della cronologia di importazione

Per visualizzare la cronologia di importazione di un servizio Dataproc Metastore nella console Google Cloud, completa i seguenti passaggi:

  1. In Google Cloud Console, apri la pagina Dataproc Metastore.
  2. Nella barra di navigazione, fai clic su Importa/Esporta.

    La cronologia delle importazioni è visualizzata nella tabella Cronologia importazioni.

    La cronologia mostra fino a 25 importazioni recenti.

L'eliminazione di un servizio Dataproc Metastore elimina anche tutta la cronologia di importazione associata.

Risolvere i problemi comuni

Alcuni problemi comuni includono:

Per ulteriori informazioni sulla risoluzione dei problemi comuni, vedi Scenari di errore di importazione ed esportazione.

Passaggi successivi