Hive-Datenabstammung in Dataproc aktivieren

In diesem Dokument erfahren Sie, wie Sie die Datenabstammung für Dataproc Hive-Jobs aktivieren und verwenden.

Sie aktivieren die Datenabfolge für Dataproc-Hive-Jobs mit einer Initialisierungsaktion, wenn Sie einen Cluster erstellen.

Wenn Sie die Hive-Datenabstammung in einem Cluster aktivieren, erfassen Hive-Jobs, die Sie an den Cluster senden, Datenabstammungsereignisse und veröffentlichen sie in Dataplex.

Herkunftsinformationen visualisieren

Ein Datenabstammungsdiagramm zeigt die Beziehungen zwischen Ihren Projektressourcen und den Prozessen, die sie erstellt haben. Sie können über Dataplex, BigQuery Studio und Vertex AI in der Google Cloud Console auf Abstammungsdiagramme zugreifen.

Preise

Die Dataproc Hive-Datenabstammung wird während der Vorabversion kostenlos angeboten. Es gelten die Standardpreise für Dataproc.

Hinweise

  1. Wählen Sie in der Google Cloud Console auf der Projektauswahlseite das Projekt aus, das den Dataproc-Cluster enthält, dessen Herkunft Sie verfolgen möchten.

    Zur Projektauswahl

  2. Aktivieren Sie die Data Lineage API und die Dataplex API.

    APIs aktivieren

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das VM-Dienstkonto des Dataproc-Clusters zuzuweisen, um die Berechtigungen zu erhalten, die Sie zur Verwendung der Datenabfolge in Dataproc benötigen:

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

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Hive-Datenabstammung aktivieren

Wenn Sie die Hive-Datenabstammung in einem Cluster aktivieren möchten, geben Sie die hive-lineage.sh Initialisierungsaktion an, wenn Sie einen Dataproc-Cluster erstellen. Diese Initialisierungsaktion wird in regionalen Buckets in Cloud Storage gespeichert.

Beispiel für die Clustererstellung mit der gcloud CLI:

gcloud dataproc clusters create CLUSTER_NAME \
    --project PROJECT_ID \
    --region REGION \
    --image-version IMAGE_VERSION \
    --initialization-actions gs://goog-dataproc-initialization-actions-REGION/hive-lineage/hive-lineage.sh

Ersetzen Sie Folgendes:

  • CLUSTER_NAME: Der Name des Clusters.
  • PROJECT_ID: Ihre Google Cloud -Projekt-ID Projekt-IDs werden im Bereich Projektinformationen im Dashboard der Google Cloud Console aufgeführt.
  • REGION: Die Compute Engine-Region, in der der Cluster bereitgestellt werden soll.
  • IMAGE_VERSION Die beabsichtigte Image-Version für den Cluster.
  • --initialization-actions: Gibt eine Installationsaktion an einem Cloud Storage-Speicherort an, die die Hive-Datenabstammung aktiviert.
    • Optional können Sie die Initialisierungsaktion für den Hive-BigQuery-Connector hinzufügen. Wenn Sie BigQuery-Tabellen in Hive-Arbeitslasten einbinden möchten, müssen Sie den Hive-BigQuery-Connector auf dem Cluster installieren. Weitere Informationen finden Sie im Beispiel für die Hive-Datenherkunft mit BigQuery, in dem eine Connector-Initialisierungsaktion ausgeführt wird, um den Hive-BigQuery-Connector auf dem Cluster zu installieren.

Hive-Job senden

Wenn Sie einen Hive-Job an einen Dataproc-Cluster senden, der mit aktivierter Hive-Datenherkunft erstellt wurde, erfasst Dataproc die Informationen zur Datenherkunft und meldet sie an Dataplex.

Beispiel für die Abgabe eines Hive-Jobs über die gcloud CLI:

gcloud dataproc jobs submit hive \
    --cluster=CLUSTER_NAME \
    --project PROJECT_ID \
    --region REGION \
    --properties=hive.openlineage.namespace=CUSTOM_NAMESPACE \
    --execute HIVE_QUERY

Ersetzen Sie Folgendes:

  • CLUSTER_NAME: Der Name des Clusters.
  • PROJECT_ID: Ihre Google Cloud -Projekt-ID Projekt-IDs werden im Bereich Projektinformationen im Dashboard der Google Cloud Console aufgeführt.
  • REGION: Die Compute Engine-Region, in der sich Ihr Cluster befindet.
  • CUSTOM_NAMESPACE: Optionaler benutzerdefinierter Hive-Namespace, den Sie angeben können, um den Hive-Job zu identifizieren.
  • HIVE_QUERY: Die Hive-Abfrage, die an den Cluster gesendet werden soll. Anstatt eine Abfrage anzugeben, können Sie das Flag --execute HIVE_QUERY durch das Flag --file SQL_FILE ersetzen, um den Speicherort einer Datei anzugeben, die die Abfrage enthält.

Lineage in Dataplex ansehen

Ein Liniendiagramm zeigt die Beziehungen zwischen Ihren Projektressourcen und den Prozessen, mit denen sie erstellt wurden. Sie können Informationen zur Datenabfolge in der Google Cloud Console aufrufen oder sie in Form von JSON-Daten über die Data Lineage API abrufen.

Hive-Datenabstammung mit BigQuery-Beispiel

Das Beispiel in diesem Abschnitt besteht aus den folgenden Schritten:

  1. Erstellen Sie einen Dataproc-Cluster, für den die Hive-Datenabstammung aktiviert und der Hive-BigQuery-Connector installiert ist.
  2. Führen Sie eine Hive-Abfrage auf dem Cluster aus, um Daten zwischen Hive-Tabellen zu kopieren.
  3. Rufen Sie das generierte Datenabstammungsdiagramm in BigQuery Studio auf.

Dataproc-Cluster erstellen

Führen Sie den folgenden Befehl in einem lokalen Terminalfenster oder in Cloud Shell aus, um einen Dataproc-Cluster zu erstellen.

gcloud dataproc clusters create CLUSTER_NAME \
    --project PROJECT_ID \
    --region REGION \
    --image-version IMAGE_VERSION \
    --initialization-actions gs://goog-dataproc-initialization-actions-REGION/connectors/connectors.sh, gs://goog-dataproc-initialization-actions-REGION/hive-lineage/hive-lineage.sh \
    --metadata hive-bigquery-connector-version=HIVE_BQ_VERSION

Hinweise:

Hive-Abfrage ausführen

Führen Sie eine Hive-Abfrage aus, um die folgenden Aktionen auszuführen:

  • Erstellen Sie eine externe us_states-Tabelle mit Beispieldaten aus gs://cloud-samples-data/bigquery/hive-partitioning-samples/autolayout.
  • Erstellen Sie eine verwaltete us_states_copy-Tabelle im angegebenen BigQuery-Dataset.
  • Kopieren Sie alle Daten von us_states nach us_states_copy.

So führen Sie die Abfrage aus:

  1. Kopieren Sie in einem lokalen Terminalfenster oder in Cloud Shell mit einem Texteditor wie vi oder nano die folgende Hive-Abfrage in eine hive-example.sql-Datei und speichern Sie die Datei im aktuellen Verzeichnis.
  2. Reichen Sie die hive-example.sql-Datei beim zuvor erstellten Dataproc-Cluster ein. Ersetzen Sie dabei das Flag --execute HIVE_QUERY durch das Flag --file SQL_FILE, um den Speicherort der gespeicherten hive-example.sql-Datei anzugeben. Die Variablen PROJECT und BQ_DATASET müssen ausgefüllt sein.

Hive BigQueryStorageHandler

CREATE EXTERNAL TABLE us_states (
    name STRING,
    post_abbr STRING
)
STORED AS PARQUET
LOCATION 'gs://cloud-samples-data/bigquery/hive-partitioning-samples/autolayout';

CREATE TABLE us_states_copy (
    name STRING,
    post_abbr STRING
)
STORED BY 'com.google.cloud.hive.bigquery.connector.BigQueryStorageHandler'
TBLPROPERTIES (
  'bq.table'='PROJECT.BQ_DATASET.us_states_copy'
);

INSERT INTO us_states_copy SELECT * FROM us_states;

Datenabfolgediagramm ansehen

Nachdem der Hive-Job erfolgreich abgeschlossen wurde, können Sie sich die Datenabfolge in BigQuery Studio in der Google Cloud Console ansehen:

Hive-Abstammungsdiagramm

Informationen zum Darstellen von Diagrammen in BigQuery Studio finden Sie unter Herkunft in BigQuery ansehen. Weitere Informationen zu Graphen finden Sie unter Informationsmodell für die Datenherkunft.

Nächste Schritte