Metadatenföderierungsdienst erstellen

Auf dieser Seite wird erläutert, wie Sie einen Metadatenföderationsdienst für Dataproc Metastore Mit einem Föderationsdienst können Sie auf Metadaten zugreifen, in mehreren Quellen von einem einzigen gRPC-Endpunkt gespeichert wird.

Weitere Informationen über die Funktionsweise von Föderation und ihre Einschränkungen finden Sie unter Informationen Metadatenföderation

Hinweise

Erforderliche Rollen

Um die Berechtigungen zu erhalten, die Sie zum Erstellen eines Föderationsdienstes und zum Anhängen eines Dataproc-Clusters gemäß dem Prinzip der geringsten Berechtigung benötigen, bitten Sie Ihren Administrator, Ihnen folgenden IAM-Rollen:

  • So greifen Sie auf den Föderationsdienst zu: Zugriffsfunktion für Föderation (roles/metastore.federationAccessor) für das Nutzer- oder Dienstkonto
  • So gewähren Sie vollständige Kontrolle über alle Dataproc Metastore-Ressourcen: Dataproc Metastore-Editor (roles/metastore.editor) für das Nutzer- oder Dienstkonto
  • So führen Sie Metadatenvorgänge in einem Dataproc Metastore aus, der mit einem Föderationsdienst konfiguriert ist: Metastore-Inhaber (metastore.metadataEditor) für das Nutzer- oder Dienstkonto
  • So erstellen Sie einen Dataproc-Cluster: Dataproc-Worker (roles/dataproc.worker) für das Dataproc-VM-Dienstkonto aktivieren
  • (Optional) So greifen Sie auf BigQuery-Datasets zu: Verwenden Sie eine für Ihren Anwendungsfall passende vordefinierte BigQuery-Rolle. für das Nutzer- oder Dienstkonto
  • (Optional) So greifen Sie auf Dataplex-Lakes zu (Vorabversion): Verwenden Sie eine für Ihren Anwendungsfall geeignete vordefinierte Dataplex-Rolle. für das Nutzer- oder Dienstkonto

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

Diese vordefinierten Rollen enthalten Berechtigungen, die zum Erstellen eines Föderationsdienstes und zum Anhängen eines Dataproc-Clusters gemäß dem Prinzip der geringsten Berechtigung erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind nach dem Prinzip der geringsten Berechtigung erforderlich, um einen Föderationsdienst zu erstellen und einen Dataproc-Cluster anzuhängen:

  • So erstellen Sie einen Dataproc Metastore: metastore.services.create für das Nutzer- oder Dienstkonto
  • So können Sie einen Föderationsdienst auflisten, abrufen, erstellen, aktualisieren und löschen: 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 für das Nutzer- oder Dienstkonto
  • (Optional) So greifen Sie auf BigQuery-Datasets zu: For more information, see BigQuery permissions für das Nutzer- oder Dienstkonto
  • (Optional) So greifen Sie auf Dataplex-Lakes zu (Vorabversion): For more information, see Dataplex permissions für das Nutzer- 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 Zugriff auf Dataproc Metastore mit IAM verwalten.

Föderationsdienst erstellen

Die folgende Anleitung zeigt Ihnen, wie Sie einen Föderationsdienst erstellen und mit einer Quelle verknüpfen. Nachdem Sie diese Schritte abgeschlossen haben, können Sie Ihr Föderationsdienst mit einem Dataproc-Cluster verknüpfen.

Weitere Informationen zu Föderationsquellen 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 Föderation.

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

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

    Die Seite Föderationsdienst erstellen wird geöffnet.

  4. Geben Sie im Feld Föderationsname einen eindeutigen Namen für Ihren Dienst ein.

    Weitere Informationen finden Sie unter Namenskonvention für Ressourcen.

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

    Achten Sie darauf, dass der Föderationsdienst in den Regionen Dataproc Metastore-Quellen.

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

  7. Klicken Sie auf Quelle hinzufügen, um eine Quelle für den Föderationsdienst hinzuzufügen.

    Sie können eine oder mehrere Quellen hinzufügen. Die erste Quelle, die Sie in diesem list wird automatisch als Ihr primärer Metastore festgelegt. Sie können die nach der Erstellung sortiert.

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

      Sie können eine Dataproc Metastore-Instanz, eine das ein oder mehrere BigQuery-Datasets enthält, oder einen Dataplex-Lake (Vorabversion) aus.

    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, das den Dataproc Metastore enthält, den Sie die Sie als Quelle verwenden möchten.

          Ihre Dataproc Metastore-Quellen sollten Verwenden einer Hive-Version, die mit Ihrer Föderation kompatibel ist Service. Ihr primärer Metaspeicher muss eine Hive-Version verwenden, die größer oder gleich Ihrem Föderationsdienst ist.

        2. Wählen Sie im Drop-down-Menü Metastore-Dienst die Option Dataproc Metastore, 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, 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, das den Dataplex-Lake enthält.

    3. Klicken Sie auf Fertig.

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

    Sie können Ihren Föderationsdienst jetzt an einen Dataproc-Cluster anhängen.

Föderationsdienst aktualisieren

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

  • Fügen Sie einem Föderationsdienst eine Quelle hinzu.
  • Entfernen Sie eine Quelle aus einem Föderationsdienst.
  • Ändern Sie die Quellenreihenfolge der Quellen, die in einem Föderationsdienst enthalten sind.
  • Einen Föderationsdienst dauerhaft löschen. Nachdem Sie einen Dienst gelöscht haben, ihre Ressourcen freigegeben werden.

Console

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

    Dataproc Metastore öffnen

  2. Klicken Sie im Dataproc-Navigationsmenü auf Föderation.

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

  3. Klicken Sie auf der Seite Föderierte Metastore-Dienste auf den Namen des 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 Föderationsdienst anhängen

In der folgenden Anleitung wird gezeigt, wie Sie einen Dataproc-Dienst erstellen. Cluster erstellen und einen Föderationsdienst-Endpunkt als Metaspeicher anhängen.

Bevor Sie mit dieser Anleitung beginnen, führen Sie alle Schritte aus, die im Abschnitt Vorher Sie beginnen und erstellen eine Föderation. .

gcloud-CLI

So erstellen Sie einen Dataproc-Cluster und hängen einen Föderationsendpunkt an: Führen Sie den folgenden gcloud Dataproc clusters create-Befehl aus.

 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 Cluster.
  • PROJECT_ID: die Google Cloud-Projekt-ID des Projekts, in dem Sie arbeiten dem Erstellen des Dataproc-Clusters.
  • LOCATION: die Region Ihres Dataproc-Cluster
  • IMAGE_VERSION: der Dataproc die Sie verwenden möchten.

    Achten Sie darauf, dass das Dataproc-Image, das Sie in diesem Befehl ist mit der Hive-Version kompatibel, die mit Ihrer Föderation verwendet wird Service. Weitere Informationen finden Sie in der Liste der Dataproc-Image-Versionen.

  • SERVICE_ACCOUNT (optional): das Dienstkonto mit denen Sie Ihren Dataproc-Cluster erstellen. Wenn kein Wert angegeben ist, verwendet der Cluster den Compute Engine-Standarddienst Konto.

  • FEDERATION_URI: der Endpunkt-URI Ihrer Federation Service.

  • FEDERATION_VERSION: die Hive-Version, die Ihr der vom Föderationsdienst verwendet wird.

  • WAREHOUSE_DIR: das Warehouse-Verzeichnis Ihrer primären Dataproc Metastore.

Nächste Schritte