Metadaten-Verknüpfungsservice erstellen

Auf dieser Seite wird erläutert, wie Sie einen Metadaten-Verknüpfungsservice für Dataproc Metastore erstellen. Mit einem Federation-Dienst können Sie über einen einzigen gRPC-Endpunkt auf Metadaten zugreifen, die in mehreren Quellen gespeichert sind.

Weitere Informationen zur Funktionsweise der Föderierung und ihren Einschränkungen finden Sie unter Metadatenföderierung.

Hinweis

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen eines Federation-Dienstes und zum Anhängen eines Dataproc-Clusters benötigen, wobei das Prinzip der geringsten Berechtigung befolgt wird:

  • Zugriff auf den Federationsdienst: Federation Accessor (roles/metastore.federationAccessor) für das Nutzer- oder Dienstkonto
  • So gewähren Sie die vollständige Kontrolle über alle Dataproc Metastore-Ressourcen: Dataproc Metastore-Bearbeiter (roles/metastore.editor) für das Nutzerkonto oder Dienstkonto
  • So führen Sie Metadatenvorgänge für einen Dataproc Metastore aus, der mit einem Federation-Dienst konfiguriert ist: Metastore-Inhaber (metastore.metadataEditor) für das Nutzerkonto oder Dienstkonto
  • So erstellen Sie einen Dataproc-Cluster: Dataproc-Worker (roles/dataproc.worker) im Dataproc-VM-Dienstkonto
  • Optional: Für den Zugriff auf BigQuery-Datasets: Verwenden Sie eine geeignete vordefinierte BigQuery-Rolle, die für Ihren Anwendungsfall auf das Nutzerkonto oder Dienstkonto zutrifft.
  • Optional: Für den Zugriff auf Dataplex-Lakes (Vorabversion): Verwenden Sie eine geeignete vordefinierte Dataplex-Rolle, die für Ihren Anwendungsfall auf das Nutzer- oder Dienstkonto angewendet werden kann.

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

Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Erstellen eines Federation-Dienstes und zum Anhängen eines Dataproc-Clusters erforderlich sind. Dabei wird das Prinzip der geringsten Berechtigung befolgt. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um einen Federationsdienst zu erstellen und einen Dataproc-Cluster anzuhängen. Dabei wird das Prinzip der geringsten Berechtigung angewendet:

  • So erstellen Sie einen Dataproc Metastore: metastore.services.create für das Nutzerkonto oder Dienstkonto
  • So listen Sie einen Federationsdienst auf, rufen ihn ab, erstellen, aktualisieren und löschen ihn: metastore.federations.create, metastore.federations.update, metastore.federations.delete, metastore.federations.get metastore.federations.list für das Nutzer- oder Dienstkonto
  • So führen Sie Metadatenvorgänge in einem Dataproc Metastore aus: metastore.services.get, metastore.services.use, metastore.databases.create, metastore.databases.update, metastore.databases.deletemetastore.databases.get,metastore.databases.list, metastore.databases.getIamPolicy, metastore.tables.create, metastore.tables.update, metastore.tables.delete, metastore.tables.get, metastore.tables.list, metastore.tables.getIamPolicy über das Nutzer- oder Dienstkonto
  • Optional: Zugriff auf BigQuery-Datasets: For more information, see BigQuery permissions Nutzerkonto oder Dienstkonto
  • Optional: Für den Zugriff auf Dataplex-Lakes (Vorabversion): For more information, see Dataplex permissions auf das Nutzerkonto oder Dienstkonto

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 unter Dataproc Metastore-Zugriff mit IAM verwalten.

Föderationsservice erstellen

In der folgenden Anleitung erfahren Sie, wie Sie einen Federationsdienst erstellen und einer Quelle zuordnen. Nachdem Sie diese Schritte ausgeführt haben, können Sie Ihren Federation-Dienst an einen Dataproc-Cluster anhängen.

Weitere Informationen zu Federationsquellen und ihren Einschränkungen finden Sie unter Metadatenquellen.

Console

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

    Dataproc Metastore öffnen

  2. Klicken Sie im Dataproc-Navigationsmenü auf Federation.

    Die Seite Federated (Verbunden) mit den Metastore-Diensten wird geöffnet.

  3. Klicken Sie in der Menüleiste des Metastores Federated (Föderiert) auf Create (Erstellen).

    Die Seite Federationsdienst erstellen wird geöffnet.

  4. Geben Sie im Feld Name der Verknüpfung einen eindeutigen Namen für den Dienst ein.

    Weitere Informationen finden Sie unter Namenskonvention für Ressourcen.

  5. Wählen Sie den Speicherort der Daten aus.

    Achten Sie darauf, den Federation-Dienst in denselben Regionen wie Ihre Dataproc Metastore-Quellen zu erstellen.

  6. Wählen Sie die Hive-Version aus.

  7. Klicken Sie auf Quelle hinzufügen, um eine Quelle für Ihren föderierten Dienst hinzuzufügen.

    Sie können eine oder mehrere Quellen hinzufügen. Die erste Quelle, die Sie dieser Liste hinzufügen, wird automatisch als primärer Metastore festgelegt. Sie können die Quellensortierung nach dem Erstellen aktualisieren.

    1. Wählen Sie als Quelltyp die Föderationsquelle aus.

      Sie können eine Dataproc Metastore-Instanz, ein Projekt mit einem oder mehreren BigQuery-Datasets oder einen Dataplex-Lake (Vorabversion) auswählen.

    2. Geben Sie im Feld Quelle die folgenden Informationen ein:

      • Für einen Dataproc Metastore-Dienst

        1. Klicken Sie im Feld Ausgewähltes Projekt auf Durchsuchen und wählen Sie das Projekt aus, das den Dataproc Metastore enthält, den Sie als Quelle verwenden möchten.

          Achten Sie darauf, dass für Ihre Dataproc Metastore-Quellen eine Hive-Version verwendet wird, die mit Ihrem Federation-Dienst kompatibel ist. Für Ihren primären Metastore muss eine Hive-Version verwendet werden, die mindestens der Version Ihres Federation-Dienstes entspricht.

        2. Wählen Sie im Drop-down-Menü Metastore-Dienst den Dataproc Metastore aus, den Sie als Quelle verwenden möchten.

      • Für BigQuery Klicken Sie im Feld Ausgewähltes Projekt auf Durchsuchen und wählen Sie die Projekt-ID des Projekts aus, das das BigQuery-Dataset enthält.

      • Für Dataplex (Vorabversion) Klicken Sie im Feld Ausgewähltes Projekt auf Durchsuchen und wählen Sie die Projekt-ID des Projekts aus, das den Dataplex-Datensee enthält.

    3. Klicken Sie auf Fertig.

  8. Klicken Sie auf Senden, um den Dienst zu erstellen und zu starten.

    Sie können Ihren Federation-Dienst jetzt an einen Dataproc-Cluster anhängen.

Verbandsdienst aktualisieren

In der folgenden Anleitung erfahren Sie, wie Sie einen Federationsdienst aktualisieren. Sie können die folgenden Aufgaben ausführen:

  • Fügen Sie einem Federationsdienst eine Quelle hinzu.
  • Eine Quelle aus einem Federationsdienst entfernen
  • Ändern Sie die Quellreihenfolge der Quellen in einem föderierten Dienst.
  • Föderierungsdienste endgültig löschen Wenn Sie einen Dienst löschen, werden alle zugehörigen Ressourcen freigegeben.

Console

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

    Dataproc Metastore öffnen

  2. Klicken Sie im Dataproc-Navigationsmenü auf Federation.

    Die Seite Federated (Verbunden) mit den Metastore-Diensten wird geöffnet.

  3. Klicken Sie auf der Seite Föderierte Metastore-Dienste auf den Namen des Dienstes, den Sie aktualisieren möchten.

    Die Seite Dienstdetails wird geöffnet.

  4. Klicken Sie in der Menüleiste auf Bearbeiten.

    Die Seite Dienst bearbeiten wird geöffnet.

  5. Wählen Sie die Werte aus, die Sie aktualisieren möchten.

  6. Klicken Sie auf Senden, um den Dienst zu aktualisieren.

Dataproc-Cluster an einen Federationsdienst anhängen

In der folgenden Anleitung wird gezeigt, wie Sie einen Dataproc-Cluster erstellen und einen Endpunkt des Federation-Dienstes als Metastore anhängen.

Bevor Sie mit dieser Anleitung beginnen, führen Sie alle Schritte unter Vorbereitung aus und erstellen Sie einen Verknüpfungsservice.

gcloud-CLI

Führen Sie den folgenden gcloud Dataproc clusters create-Befehl aus, um einen Dataproc-Cluster zu erstellen und einen Federation-Endpunkt anzuhängen.

 gcloud dataproc clusters create CLUSTER_NAME \
    --region=LOCATION \
    --project=PROJECT_ID \
    --scopes=https://www.googleapis.com/auth/cloud-platform \
    --image-version=IMAGE_VERSION \
    --service-account=SERVICE_ACCOUNT \
    --optional-components=DOCKER \
    --initialization-actions=gs://metastore-init-actions/metastore-grpc-proxy/metastore-grpc-proxy.sh \
    --metadata="proxy-uri=FEDERATION_URI,hive-version=FEDERATION_VERSION" \
    --properties="hive:hive.metastore.uris=thrift://localhost:9083,hive:hive.metastore.warehouse.dir=WAREHOUSE_DIR"

Ersetzen Sie Folgendes:

  • CLUSTER_NAME: der Name Ihres neuen Dataproc-Clusters.
  • PROJECT_ID: die Google Cloud Projekt-ID des Projekts, in dem Sie den Dataproc-Cluster erstellen.
  • LOCATION: die Region Ihres Dataproc-Clusters.
  • IMAGE_VERSION: die zu verwendende Dataproc-Imageversion.

    Das in diesem Befehl verwendete Dataproc-Image muss mit der Hive-Version kompatibel sein, die für Ihren Federationsdienst verwendet wird. Weitere Informationen finden Sie in der Liste der Dataproc-Image-Versionen.

  • SERVICE_ACCOUNT Optional: das Dienstkonto, mit dem Sie Ihren Dataproc-Cluster erstellen. Wenn Sie keine Angabe machen, verwendet der Cluster Ihr Compute Engine-Standarddienstkonto.

  • FEDERATION_URI: der Endpunkt-URI Ihres Federationsdienstes.

  • FEDERATION_VERSION: die Hive-Version, die von Ihrem Federation-Dienst verwendet wird.

  • WAREHOUSE_DIR: das Warehouse-Verzeichnis Ihres primären Dataproc Metastores.

Nächste Schritte