Dataproc Metastore-Dienst bereitstellen

Auf dieser Seite erfahren Sie, wie Sie einen Dataproc Metastore-Dienst erstellen und eine Verbindung zu ihm von einem Managed Service for Apache Spark-Cluster aus herstellen. Anschließend stellen Sie eine SSH-Verbindung zum Cluster her, starten eine Instanz von Apache Hive und führen einige grundlegende Abfragen aus.

Dataproc Metastore bietet Ihnen einen vollständig kompatiblen Hive Metastore (HMS), der im Open-Source-Big-Data-Ökosystem als Standard für die Verwaltung technischer Metadaten gilt. Mit diesem Dienst können Sie die Metadaten Ihrer Data Lakes verwalten und die Interoperabilität zwischen den verschiedenen von Ihnen verwendeten Datenverarbeitungstools gewährleisten.


Eine detaillierte Anleitung dazu finden Sie direkt in der Google Cloud Console. Klicken Sie dazu einfach auf Anleitung:

Anleitung


Hinweis

  1. Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie noch kein Google Cloud-Nutzer sind, erstellen Sie ein Konto, um zu sehen, wie sich unsere Produkte in realen Szenarien schlagen. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Dataproc Metastore, Dataproc APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Dataproc Metastore, Dataproc APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen eines Dataproc Metastore und eines Managed Service for Apache Spark-Clusters benötigen:

  • Vollständigen Zugriff auf alle Dataproc Metastore-Ressourcen gewähren, einschließlich des Festlegens von IAM-Berechtigungen: (roles/metastore.admin) für das Nutzerkonto oder Dienstkonto
  • Vollständige Kontrolle über Dataproc Metastore-Ressourcen gewähren: Dataproc Metastore-Bearbeiter (roles/metastore.editor) für das Nutzerkonto oder Dienstkonto
  • Managed Service for Apache Spark-Cluster erstellen: (roles/dataproc.worker) für das Dienstkonto

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 Dataproc Metastore und eines Managed Service for Apache Spark-Clusters erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen , um die notwendigen Berechtigungen anzuzeigen, die erforderlich sind:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um einen Dataproc Metastore und einen Managed Service for Apache Spark-Cluster zu erstellen:

  • Dataproc Metastore-Dienst erstellen: metastore.services.create für das Nutzerkonto oder Dienstkonto
  • Managed Service for Apache Spark-Cluster erstellen: Managed Service for Apache Spark worker (roles/dataproc.worker) für das 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-IAM – Übersicht.

Dataproc Metastore-Dienst erstellen

In der folgenden Anleitung wird gezeigt, wie Sie einen einfachen Dataproc Metastore-Dienst mit den bereitgestellten Standardeinstellungen erstellen.

Console

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

    Zu Dataproc Metastore

  2. Klicken Sie im Navigationsmenü auf + Erstellen.

    Das Dialogfeld Metastore-Dienst erstellen wird geöffnet.

  3. Wählen Sie Dataproc Metastore 2 aus.

  4. Geben Sie im Feld Name des Dienstes example-service ein.

  5. Wählen Sie im Feld Speicherort der Daten us-central1 aus.

  6. Übernehmen Sie für die übrigen Optionen der Dienstkonfiguration die angegebenen Standardeinstellungen.

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

Der neue Metastore-Dienst wird auf der Seite Dataproc Metastore angezeigt. Der Status ist Wird erstellt , bis der Dienst einsatzbereit ist. Wenn er bereit ist, ändert sich der Status in Aktiv. Die Bereitstellung des Dienstes kann einige Minuten dauern.

Der folgende Screenshot zeigt ein Beispiel für die Seite Dienst erstellen mit einigen der bereitgestellten Standardeinstellungen.

Die Seite „Dienst erstellen“

gcloud CLI

 gcloud metastore services create example-service \
     --location=us-central1 \
     --instance-size=MEDIUM

REST

Folgen Sie der API-Anleitung zum Erstellen eines Dienstes mit dem APIs Explorer.

Managed Service for Apache Spark-Cluster erstellen und Verbindung zu Dataproc Metastore herstellen

Als Nächstes erstellen Sie einen Managed Service for Apache Spark-Cluster und stellen eine Verbindung zu Ihrem Metastore vom Cluster aus her. Danach verwendet der Cluster den Metastore-Dienst als HMS. Der hier erstellte Cluster verwendet die bereitgestellten Standardeinstellungen.

Console

  1. Öffnen Sie in der Google Cloud Console- die Seite Dataproc-Cluster.

    Zu Managed Service for Apache Spark-Clustern

  2. Wählen Sie in der Navigationsleiste + Cluster erstellen aus.

    Das Dialogfeld Cluster erstellen wird geöffnet und bietet mehrere Infrastrukturoptionen zur Auswahl.

  3. Wählen Sie in der Zeile Cluster in Compute Engine die Option Erstellen aus.

    Die Seite Managed Service for Apache Spark-Cluster in Compute Engine erstellen wird geöffnet.

  4. Geben Sie im Feld Clustername example-cluster ein.

  5. Wählen Sie in den Menüs Region und Zone die Option us-central1 aus.

  6. Übernehmen Sie für die übrigen Optionen unter Cluster einrichten die bereitgestellten Standardeinstellungen.

  7. Klicken Sie im Navigationsmenü auf den Tab Cluster anpassen (optional).

  8. Wählen Sie im Abschnitt Dataproc Metastore den zuvor erstellten Metastore-Dienst aus.

    Wenn Sie dieser Anleitung genau gefolgt sind, heißt er example-service.

  9. Übernehmen Sie für die übrigen Optionen der Dienstkonfiguration die bereitgestellten Standardeinstellungen.

  10. Klicken Sie auf Erstellen, um den Cluster zu erstellen.

    Der neue Cluster wird in der Liste Cluster angezeigt. Der Cluster verbleibt solange im Status Wird bereitgestellt , bis er zur Verwendung bereit ist. Wenn er bereit ist, ändert sich der Status in Aktiv. Die Bereitstellung des Clusters kann einige Minuten dauern.

gcloud CLI

Führen Sie den folgenden gcloud dataproc clusters create Befehl aus, um einen Cluster mit den bereitgestellten Standardeinstellungen zu erstellen:

 gcloud dataproc clusters create example-cluster \
    --dataproc-metastore=projects/PROJECT_ID/locations/us-central1/services/example-service \
    --region=us-central1

Ersetzen Sie PROJECT_ID durch die Projekt-ID des Projekts, in dem Sie Ihren Dataproc Metastore-Dienst erstellt haben.

REST

Folgen Sie der API-Anleitung zum Erstellen eines Clusters mit dem APIs Explorer.

Mit einem Managed Service for Apache Spark-Cluster eine Verbindung zu Apache Hive herstellen

In den nächsten Schritten erfahren Sie, wie Sie einige Beispielbefehle in Apache Hive ausführen, um eine Datenbank und eine Tabelle zu erstellen.

Öffnen Sie als Nächstes eine SSH-Sitzung im Managed Service for Apache Spark-Cluster und starten Sie eine Hive-Sitzung.

  1. Öffnen Sie in der Google Cloud Console- die Seite VM Instanzen.
  2. Klicken Sie in der Liste der VM-Instanzen neben example-cluster auf SSH.

Im Stammverzeichnis des Knotens wird ein Browserfenster mit einer Ausgabe ähnlich der folgenden geöffnet:

Connected, host fingerprint: ssh-rsa ...
Linux cluster-1-m 3.16.0-0.bpo.4-amd64 ...
...
example-cluster@cluster-1-m:~$

Führen Sie in der SSH-Sitzung die folgenden Befehle aus, um Hive zu starten und eine Datenbank und eine Tabelle zu erstellen:

  1. Starten Sie Hive.

    hive
    
  2. Erstellen Sie eine Datenbank namens myDatabase.

    create database myDatabase;
    
  3. Zeigen Sie die von Ihnen erstellte Datenbank an.

    show databases;
    
  4. Verwenden Sie die von Ihnen erstellte Datenbank.

    use myDatabase;
    
  5. Erstellen Sie eine Tabelle namens myTable.

    create table myTable(id int,name string);
    
  6. Listen Sie die Tabellen unter myDatabase auf.

    show tables;
    
  7. Beschreiben Sie das Schema der von Ihnen erstellten Tabelle.

    desc MyTable;
    

Die Ausführung dieser Befehle führt zu einer Ausgabe ähnlich der folgenden:

$hive

hive> show databases;
OK
default
hive> create database myDatabase;
OK
hive> use myDatabase;
OK
hive> create table myTable(id int,name string);
OK
hive> show tables;
OK
myTable
hive> desc myTable;
OK
id                      int
name                    string

Bereinigen

Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud -Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden:

  1. Wechseln Sie in der Google Cloud -Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wenn das Projekt, das Sie löschen möchten, an eine Organisation geknüpft ist, maximieren Sie in der Spalte Name die Liste Organisation.
  3. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
  4. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.

Alternativ können Sie die Ressourcen löschen, die in dieser Anleitung verwendet werden:

  1. Löschen Sie den Dataproc Metastore-Dienst.

    Console

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

      Zu Dataproc Metastore

    2. Wählen Sie in der Dienstliste example-service aus.

    3. Klicken Sie in der Navigationsleiste auf Löschen.

      Das Dialogfeld Dienst löschen wird geöffnet.

    4. Klicken Sie im Dialogfeld auf Löschen.

      Der Dienst wird nicht mehr in der Dienstliste angezeigt.

    gcloud CLI

    Führen Sie den folgenden gcloud metastore services delete-Befehl aus, um den Dienst zu löschen.

     gcloud metastore services delete example-service \
         --location=us-central1

    REST

    Folgen Sie der API-Anleitung, um einen Dienst mithilfe des APIs Explorers zu löschen.

    Alle Löschvorgänge werden sofort ausgeführt.

  2. Löschen Sie den Cloud Storage-Bucket für den Dataproc Metastore-Dienst.

  3. Löschen Sie den Managed Service for Apache Spark-Cluster der den Dataproc Metastore-Dienst verwendet hat.

Nächste Schritte