Metadaten in Dataproc Metastore importieren

Auf dieser Seite wird erläutert, wie Sie Metadaten in einen Dataproc Metastore-Dienst importieren.

Mit der Funktion zum Importieren von Metadaten können Sie Dataproc Metastore-Dienst mit Metadaten, die in einem portablen Gerät gespeichert sind Speicherformat.

Diese portablen Metadaten werden in der Regel aus einem anderen Dataproc Metastore-Dienst oder aus einem selbstverwalteten Hive-Metastore (HMS) exportiert.

Metadaten importieren

Sie können die folgenden Dateiformate in Dataproc Metastore importieren:

  • Eine Reihe von Avro-Dateien, die in einem Ordner gespeichert sind.
  • Eine einzelne MySQL-Dumpdatei, die in einem Cloud Storage-Ordner gespeichert ist.

Die zu importierenden MySQL- oder Avro-Dateien müssen aus einer relationalen Datenbank.

Wenn Ihre Dateien in einem anderen Format vorliegen, z. B. PostgreSQL, müssen Sie sie in das Avro- oder MySQL-Format konvertieren. Nach der Umwandlung können Sie sie in Dataproc Metastore

Avro

Avro-basierte Importe werden nur für die Hive-Versionen 2.3.6 und 3.1.2 unterstützt. Beim Importieren von Avro-Dateien erwartet Dataproc Metastore eine Reihe von <table-name>.avro-Dateien für jede Tabelle in Ihrer Datenbank.

Zum Importieren von Avro-Dateien kann der Dataproc Metastore-Dienst MySQL- oder Spanner-Datenbanktyp.

MySQL

MySQL-basierte Importe werden für alle Hive-Versionen unterstützt. Beim Importieren von MySQL erwartet Dataproc Metastore eine einzelne SQL-Datei, alle Tabelleninformationen. MySQL-Dumps, die mit Native SQL aus einem Dataproc-Cluster abgerufen wurden, werden ebenfalls unterstützt.

Wenn Sie MySQL-Dateien importieren möchten, muss Ihr Dataproc Metastore-Dienst den MySQL-Datenbanktyp verwenden. MySQL-Datenbanktyp wird vom Spanner-Datenbanktyp nicht unterstützt Datenimport und -import.

Importüberlegungen

  • Beim Importieren werden alle vorhandenen Metadaten überschrieben, die in einem Dataproc Metastore-Dienst

  • Mit der Metadatenimportfunktion werden nur Metadaten importiert. Daten, die von Apache Hive in internen Tabellen wird beim Import nicht repliziert.

  • Beim Importieren werden Datenbankinhalte nicht umgewandelt und die Datei wird nicht verarbeitet Migration. Wenn Sie Ihre Daten an einen anderen Speicherort verschieben, müssen Sie die Speicherorte und das Schema der Tabellendaten Dataproc Metastore-Dienst

  • Beim Importieren werden keine detaillierten IAM-Richtlinien wiederhergestellt oder ersetzt.

  • Wenn Sie VPC Service Controls nutzen, können Sie nur Daten aus Cloud Storage-Buckets importieren, die sich im selben Dienstperimeter wie der Dataproc Metastore-Dienst befinden.

Hinweise

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Importieren von Metadaten in den Dataproc Metastore benötigen:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Importieren von Metadaten in Dataproc Metastore erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um Metadaten in Dataproc Metastore zu importieren:

  • So importieren Sie Metadaten: metastore.imports.create im Metastore-Dienst.
  • Wenn Sie das Cloud Storage-Objekt (SQL-Dumpdatei) für den Import in MySQL verwenden möchten, gewähren Sie Ihrem Nutzerkonto und dem Dataproc Metastore-Dienst-Agent: storage.objects.get für den Cloud Storage-Bucket, der den zu importierenden Metadaten-Dump enthält.
  • Wenn Sie in Avro den Cloud Storage-Bucket für den Import verwenden möchten, müssen Sie Ihrem Nutzerkonto und dem Dataproc Metastore-Dienst-Agent Folgendes zuweisen: storage.objects.get für den Cloud Storage-Bucket, der den zu importierenden Metadaten-Dump enthält.

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Weitere Informationen zu bestimmten Dataproc Metastore-Rollen und -Berechtigungen finden Sie in der Übersicht zu Dataproc Metastore IAM.

Metadaten importieren

Der Importvorgang erfolgt in zwei Schritten. Zuerst bereiten Sie Ihre Importdateien vor und importieren sie dann in Dataproc Metastore.

Wenn Sie einen Import starten, führt Dataproc Metastore Validierung des Metadatenschemas. Dabei werden die Tabellen in der SQL-Dumpdatei und die Dateinamen für Avro geprüft. Fehlt eine Tabelle, schlägt der Import mit einer Fehlermeldung fehl, die die fehlende Tabelle beschreibt.

Sie können die Hive-Metadatenkompatibilität vor dem Import mit dem Dataproc Metastore Toolkit prüfen.

Importdateien vor dem Import vorbereiten

Bevor Sie Ihre Dateien in Dataproc Metastore importieren können, müssen Ihre Metadaten-Dumpdateien nach Cloud Storage kopieren, z. B. Artefakte in Cloud Storage Bucket

Dateien in Cloud Storage verschieben

  1. Erstellen Sie einen Dump der externen Datenbank, in die Sie importieren möchten Dataproc Metastore

    Eine Anleitung zum Erstellen eines Datenbank-Dumps finden Sie auf den folgenden Seiten:

  2. Laden Sie die Dateien in Cloud Storage hoch.

    Notieren Sie sich den Cloud Storage-Pfad, in den Sie Ihre Dateien hochladen. müssen Sie sie später zum Durchführen des Imports verwenden.

    • Wenn Sie MySQL-Dateien importieren, laden Sie die SQL-Datei in einen Cloud Storage-Bucket hoch.

    • Wenn Sie Avro-Dateien importieren, laden Sie die Dateien in einen Cloud Storage-Ordner hoch.

      • Ihr Avro-Import sollte eine Avro-Datei für jede Hive-Tabelle enthalten, auch wenn die Tabelle leer ist.
      • Die Avro-Dateinamen müssen das Format <table-name>.avro haben. Der <table-name> muss in Großbuchstaben. Beispiel: AUX_TABLE.avro

Dateien in Dataproc Metastore importieren

Lesen Sie vor dem Importieren von Metadaten die Hinweise zum Import.

Während ein Import ausgeführt wird, können Sie einen Dataproc Metastore nicht aktualisieren Dienst, z. B. das Ändern von Konfigurationseinstellungen. Sie können ihn jedoch weiterhin für normale Vorgänge verwenden, z. B. um über angehängte Dataproc-Cluster oder selbstverwaltete Cluster auf seine Metadaten zuzugreifen.

Console

  1. Öffnen Sie in der Google Cloud Console die Seite Dataproc Metastore:

    Dataproc Metastore öffnen

  2. Klicken Sie auf der Seite Dataproc Metastore auf den Namen des Dienstes, in den Sie Metadaten importieren möchten.

    Die Seite Dienstdetails wird geöffnet.

    Seite „Dienstdetails“
    Abbildung 1: Die Seite mit den Details zum Dataproc Metastore-Dienst
  3. Klicken Sie in der Navigationsleiste auf Importieren.

    Das Dialogfeld Importieren wird geöffnet.

  4. Geben Sie den Importnamen ein.

  5. Wählen Sie im Abschnitt Ziel entweder MySQL oder Avro aus.

  6. Klicken Sie im Feld Ziel-URI auf Durchsuchen und wählen Sie den Cloud Storage-URI aus, unter dem Sie Ihre Dateien importieren möchten.

    Sie können den Speicherort des Buckets auch manuell in das dafür vorgesehene Textfeld eingeben. Verwenden Sie das Format bucket/object oder bucket/folder/object.

  7. Optional: Geben Sie eine Beschreibung des Imports ein.

    Sie können die Beschreibung auf der Seite Dienstdetails bearbeiten.

  8. Klicken Sie auf Importieren, um den Dienst zu aktualisieren.

    Nach Abschluss des Imports wird er auf der Seite Dienstdetails auf dem Tab Import/Export in einer Tabelle angezeigt.

gcloud-CLI

  1. Führen Sie den folgenden gcloud metastore services import gcs-Befehl aus, um Metadaten zu importieren:

    gcloud metastore services import gcs SERVICE_ID \
      --location=LOCATION \
      --import-id=IMPORT_ID \
      --description=DESCRIPTION \
      --dump-type=DUMP_TYPE \
      --database-dump=DATABASE_DUMP
    

    Ersetzen Sie Folgendes:

    • SERVICE_ID: die ID oder der voll qualifizierte Name Ihres Dataproc Metastore-Dienstes.
    • LOCATION: Die Google Cloud-Region, in der sich der Dataproc Metastore-Dienst befindet.
    • IMPORT_ID: eine ID oder ein voll qualifizierter Name für den Metadatenimport. Beispiel: import1.
    • DESCRIPTION: Optional: Eine Beschreibung des Imports. Sie können diese Angabe später mit gcloud metastore services imports update IMPORT bearbeiten.
    • DUMP_TYPE: Typ der externen Datenbank, die Sie importieren Zulässige Werte sind „mysql“ und „avro“. Der Standardwert ist mysql.
    • DATABASE_DUMP: der Pfad zu Cloud Storage, der den Datenbankdateien. Dieser Pfad muss mit gs:// beginnen. Geben Sie für Avro den Pfad zu dem Ordner an, in dem die Avro-Dateien gespeichert sind (dem Cloud Storage-Ordner). Geben Sie für MySQL den Pfad zur MySQL-Datei (dem Cloud Storage-Objekt) an.
  2. Prüfen Sie, ob der Import erfolgreich war.

REST

Folgen Sie der API-Anleitung zum Importieren von Metadaten in einen Dienst. mit APIs Explorer.

Mit der API können Sie Importe erstellen, auflisten, beschreiben und aktualisieren. können Sie Importe nicht löschen. Wenn Sie jedoch einen Dataproc Metastore-Dienst löschen, werden alle gespeicherten verschachtelten Importe gelöscht.

Wenn der Import erfolgreich ist, wechselt Dataproc Metastore automatisch in den aktiven Zustand zurück. Wenn der Import fehlschlägt, wird von Dataproc Metastore ein Rollback auf den vorherigen fehlerfreien Zustand durchgeführt.

Importverlauf ansehen

So rufen Sie den Importverlauf eines Dataproc Metastore-Dienstes in der Google Cloud Console auf:

  1. Öffnen Sie in der Google Cloud Console die Seite Dataproc Metastore.
  2. Klicken Sie in der Navigationsleiste auf Importieren/Exportieren.

    Der Importverlauf wird in der Tabelle Importverlauf angezeigt.

    Im Verlauf werden die letzten 25 Importe angezeigt.

Wenn Sie einen Dataproc Metastore-Dienst löschen, werden auch alle zugehörigen Importereignisse gelöscht.

Häufige Probleme beheben

Hier einige häufige Probleme:

Weitere Informationen zur Behebung häufiger Probleme finden Sie unter Import- und Exportfehler.

Nächste Schritte