Activer la traçabilité des données Hive dans Dataproc

Ce document explique comment activer et utiliser la provenance des données pour les jobs Hive Dataproc.

Vous pouvez activer le lignage des données pour les jobs Hive Dataproc à l'aide d'une action d'initialisation lorsque vous créez un cluster.

Lorsque vous activez la traçabilité des données Hive sur un cluster, les jobs Hive que vous envoyez au cluster capturent les événements de traçabilité des données et les publient dans Dataplex Universal Catalog.

Visualiser les informations sur la traçabilité

Un graphique de traçabilité des données affiche les relations entre les ressources de votre projet et les processus qui les ont créées. Vous pouvez accéder aux graphiques de lignée à l'aide de Dataplex Universal Catalog, BigQuery Studio et Vertex AI dans la console Google Cloud .

Tarifs

La traçabilité des données Hive Dataproc est proposée sans frais supplémentaires pendant la phase de preview. La tarification standard de Dataproc s'applique.

Avant de commencer

  1. Dans la console Google Cloud , sur la page de sélection du projet, sélectionnez le projet contenant le cluster Dataproc pour lequel vous souhaitez suivre la provenance.

    Accéder au sélecteur de projet

  2. Activez les API Data Lineage et Dataplex.

    Activer les API

Rôles requis

Pour obtenir les autorisations nécessaires pour utiliser le lineage de données dans Dataproc, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le compte de service de la VM du cluster Dataproc :

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.

Activer la traçabilité des données Hive

Pour activer le lineage des données Hive sur un cluster, spécifiez l'action d'initialisation hive-lineage.sh lorsque vous créez un cluster Dataproc. Cette action d'initialisation est stockée dans des buckets régionaux dans Cloud Storage.

Exemple de création de cluster avec la 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

Remplacez les éléments suivants :

  • CLUSTER_NAME : nom du cluster.
  • PROJECT_ID : ID de votre projet Google Cloud . Les ID de projet sont listés dans la section Informations sur le projet du tableau de bord de la console Google Cloud .
  • REGION : région Compute Engine dans laquelle localiser le cluster.
  • IMAGE_VERSION : version de l'image prévue pour le cluster.
  • --initialization-actions : spécifie une action d'installation située dans un emplacement régional Cloud Storage, qui permet le suivi de la lignée de données Hive.
    • Vous pouvez éventuellement ajouter l'action d'initialisation du connecteur Hive-BigQuery. Si vous souhaitez intégrer des tables BigQuery à des charges de travail Hive, vous devez installer le connecteur Hive-BigQuery sur le cluster. Consultez l'exemple de lignée de données Hive avec BigQuery, qui exécute une action d'initialisation du connecteur pour installer le connecteur Hive-BigQuery sur le cluster.

Envoyer une tâche Hive

Lorsque vous envoyez une tâche Hive à un cluster Dataproc créé avec la traçabilité des données Hive activée, Dataproc capture et signale les informations de traçabilité des données à Dataplex Universal Catalog.

Exemple d'envoi de job Hive avec la gcloud CLI :

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

Remplacez les éléments suivants :

  • CLUSTER_NAME : nom du cluster.
  • PROJECT_ID : ID de votre projet Google Cloud . Les ID de projet sont listés dans la section Informations sur le projet du tableau de bord de la console Google Cloud .
  • REGION : région Compute Engine dans laquelle se trouve votre cluster.
  • CUSTOM_NAMESPACE : espace de noms Hive personnalisé facultatif que vous pouvez spécifier pour identifier le job Hive.
  • HIVE_QUERY : requête Hive à envoyer au cluster. Au lieu de spécifier une requête, vous pouvez remplacer l'option --execute HIVE_QUERY par une option --file SQL_FILE pour spécifier l'emplacement d'un fichier contenant la requête.

Afficher la traçabilité dans Dataplex Universal Catalog

Un graphique de traçabilité affiche les relations entre les ressources de votre projet et les processus qui les ont créées. Vous pouvez afficher des informations sur la lignée des données dans la console Google Cloud ou les récupérer à partir de l'API Data Lineage sous forme de données JSON.

Exemple de traçabilité des données Hive avec BigQuery

L'exemple de cette section comprend les étapes suivantes :

  1. Créez un cluster Dataproc sur lequel la traçabilité des données Hive est activée et le connecteur Hive-BigQuery est installé.
  2. Exécutez une requête Hive sur le cluster pour copier des données entre des tables Hive.
  3. Affichez le graphique de traçabilité des données généré dans BigQuery Studio.

Créer un cluster Dataproc

Exécutez la commande suivante dans une fenêtre de terminal locale ou dans Cloud Shell pour créer un cluster Dataproc.

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

Remarques :

Exécuter une requête Hive

Exécutez une requête Hive pour effectuer les actions suivantes :

  • Créez une table externe us_states avec des exemples de données d'entrée à partir de gs://cloud-samples-data/bigquery/hive-partitioning-samples/autolayout.
  • Crée une table gérée us_states_copy dans l'ensemble de données BigQuery spécifié.
  • Copiez l'intégralité des données de us_states vers us_states_copy.

Pour exécuter la requête :

  1. Dans une fenêtre de terminal local ou dans Cloud Shell, utilisez un éditeur de texte tel que vi ou nano pour copier l'instruction de requête Hive suivante dans un fichier hive-example.sql, puis enregistrez le fichier dans le répertoire actuel.
  2. Envoyez le fichier hive-example.sql au cluster Dataproc créé précédemment en remplaçant l'indicateur --execute HIVE_QUERY par un indicateur --file SQL_FILE pour spécifier l'emplacement du fichier hive-example.sql enregistré. Notez que les variables PROJECT et BQ_DATASET doivent être renseignées.

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;

Afficher le graphique de traçabilité des données

Une fois la tâche Hive terminée, consultez la provenance des données dans BigQuery Studio dans la console Google Cloud  :

Graphique de traçabilité Hive

Pour savoir comment afficher des graphiques dans BigQuery Studio, consultez Afficher la traçabilité dans BigQuery. Pour en savoir plus sur la compréhension des graphiques, consultez Modèle d'informations sur la traçabilité des données.

Étapes suivantes