Hive-Datenherkunft aktivieren

In diesem Dokument wird beschrieben, wie Sie die Datenherkunft für Managed Service for Apache Spark-Hive-Jobs aktivieren und verwenden.

Sie aktivieren die Datenherkunft für Managed Service for Apache Spark-Hive-Jobs mit einer Initialisierungsaktion, wenn Sie einen Cluster erstellen.

Wenn Sie die Hive-Datenherkunft für einen Cluster aktivieren, werden bei Hive-Jobs, die Sie an den Cluster senden, Datenherkunftsereignisse erfasst und in Knowledge Catalog veröffentlicht.

Lineage-Informationen visualisieren

Ein Diagramm zur Datenherkunft zeigt die Beziehungen zwischen Ihren Projektressourcen und den Prozessen, mit denen sie erstellt wurden. Sie können über Knowledge Catalog, BigQuery Studio und Vertex AI in der Google Cloud -Konsole auf Herkunftsgraphen zugreifen.

Preise

Die Hive-Datenherkunft für Managed Service for Apache Spark wird während der Vorschauphase ohne zusätzliche Kosten angeboten. Es gelten die standardmäßigen Preise für Managed Service for Apache Spark.

Hinweis

  1. Wählen Sie in der Google Cloud Console auf der Projektauswahlseite das Projekt aus, das den Managed Service for Apache Spark-Cluster enthält, für den Sie die Herkunft 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 Managed Service for Apache Spark-Clusters zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Verwenden von Datenherkunft in Managed Service for Apache Spark 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-Daten-Lineage aktivieren

Wenn Sie die Hive-Datenherkunft für einen Cluster aktivieren möchten, geben Sie die hive-lineage.sh-Initialisierungsaktion an, wenn Sie einen Managed Service for Apache Spark-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 ist 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 der Cluster befinden soll.
  • IMAGE_VERSION: Die vorgesehene Image-Version für den Cluster.
  • --initialization-actions: Gibt eine Installationsaktion an, die sich an einem regionalen Cloud Storage-Standort befindet und Hive-Datenherkunft ermöglicht.
    • Fügen Sie optional die Initialisierungsaktion für den Hive-BigQuery-Connector hinzu. Wenn Sie BigQuery-Tabellen in Hive-Arbeitslasten einbinden möchten, müssen Sie den Hive-BigQuery-Connector im Cluster installieren. Im Beispiel für die Hive-Datenherkunft mit BigQuery wird eine Connector-Initialisierungsaktion ausgeführt, um den Hive-BigQuery-Connector im Cluster zu installieren.

Hive-Job senden

Wenn Sie einen Hive-Job an einen Managed Service for Apache Spark-Cluster senden, der mit Hive-Datenherkunft aktiviert erstellt wurde, erfasst und meldet Managed Service for Apache Spark die Datenherkunftsinformationen an Knowledge Catalog.

Beispiel für das Senden 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 ist 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 der Cluster befindet.
  • CUSTOM_NAMESPACE: Ein optionaler benutzerdefinierter Hive-Namespace, den Sie zur Identifizierung des Hive-Jobs angeben können.
  • 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 ein --file SQL_FILE-Flag ersetzen, um den Speicherort einer Datei anzugeben, die die Abfrage enthält.

Herkunft in Knowledge Catalog ansehen

Ein Herkunftsdiagramm zeigt die Beziehungen zwischen den Ressourcen Ihres Projekts und den Prozessen, mit denen sie erstellt wurden. Sie können Informationen zur Datenherkunft in der Google Cloud -Konsole ansehen oder sie in Form von JSON-Daten über die Data Lineage API abrufen.

Hive-Datenherkunft mit BigQuery – Beispiel

Das Beispiel in diesem Abschnitt besteht aus den folgenden Schritten:

  1. Erstellen Sie einen Managed Service for Apache Spark-Cluster, auf dem die Hive-Datenherkunft aktiviert und der Hive-BigQuery-Connector installiert ist.
  2. Führen Sie eine Hive-Abfrage für den Cluster aus, um Daten zwischen Hive-Tabellen zu kopieren.
  3. Das generierte Datenherkunftsdiagramm in BigQuery Studio ansehen

Managed Service for Apache Spark-Cluster erstellen

Führen Sie den folgenden Befehl in einem lokalen Terminalfenster oder in Cloud Shell aus, um einen Managed Service for Apache Spark-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 Tabelle us_states mit Beispieldateneingaben aus gs://cloud-samples-data/bigquery/hive-partitioning-samples/autolayout.
  • Erstellt eine verwaltete Tabelle vom Typ us_states_copy 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-Abfrageanweisung in eine hive-example.sql-Datei und speichern Sie die Datei im aktuellen Verzeichnis.
  2. Senden Sie die Datei hive-example.sql an den zuvor erstellten Managed Service for Apache Spark-Cluster. Ersetzen Sie dabei das Flag --execute HIVE_QUERY durch das Flag --file SQL_FILE, um den Speicherort der gespeicherten Datei hive-example.sql anzugeben. Die Variablen PROJECT und BQ_DATASET müssen ausgefüllt werden.

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;

Data Lineage-Diagramm ansehen

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

Hive-Herkunftsdiagramm

Informationen zum Anzeigen von Diagrammen in BigQuery Studio finden Sie unter Herkunft in BigQuery ansehen. Informationen zum Interpretieren von Diagrammen finden Sie unter Informationen zum Datenherkunftsmodell.

Nächste Schritte