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

Ce document explique comment activer et utiliser la lignée de données pour les tâches Hive Dataproc.

Vous activez la lignée de données pour les tâches Hive Dataproc à l'aide d'une action d'initialisation lorsque vous créez un cluster.

Lorsque vous activez la lignée des données Hive sur un cluster, les tâches Hive que vous envoyez au cluster capturent les événements de lignée des données et les publient dans Dataplex.

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 filiation à l'aide de Dataplex, BigQuery Studio et Vertex AI dans la console Google Cloud.

Tarifs

La lignée de données Dataproc Hive est proposée pendant la version Preview sans frais supplémentaires. 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 le lignage.

    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 la lignée de données dans Dataproc, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le compte de service de VM du cluster Dataproc:

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

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

Activer la traçabilité des données Hive

Pour activer la lignée de 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 de Cloud Storage.

Exemple de création de cluster avec la CLI gcloud:

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 Project info (Informations sur le projet) du tableau de bord de la console Google Cloud.
  • REGION: région Compute Engine dans laquelle placer le cluster.
  • IMAGE_VERSION Version d'image prévue pour le cluster.
  • --initialization-actions: spécifie une action d'installation située dans un emplacement régional Cloud Storage, qui active la lignée de données Hive.
    • Ajoutez éventuellement l'action d'initialisation du connecteur Hive-BigQuery. Si vous souhaitez intégrer des tables BigQuery aux 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 transmet les informations sur la traçabilité des données à Dataplex.

Exemple d'envoi d'une tâche 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 Project info (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 la tâche 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 l'option --file SQL_FILE pour spécifier l'emplacement d'un fichier contenant la requête.

Afficher la traçabilité dans Dataplex

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 la forme de données JSON.

Exemple de lignée de données Hive avec BigQuery

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

  1. Créez un cluster Dataproc avec la lignée de données Hive activée et le connecteur Hive-BigQuery installé sur le cluster.
  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 données d'exemple provenant de gs://cloud-samples-data/bigquery/hive-partitioning-samples/autolayout.
  • Créez une table gérée us_states_copy dans l'ensemble de données BigQuery spécifié.
  • Copiez l'ensemble des données de us_states vers us_states_copy.

Pour exécuter la requête :

  1. Dans une fenêtre de terminal locale 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 la traçabilité des données

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

Graphique de traçabilité Hive

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

Étape suivante