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

Ce document explique comment activer et utiliser la traçabilité des données pour les tâches Dataproc Hive.

Vous activez la traçabilité des données pour les tâches Dataproc Hive à 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 tâches 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 de 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 traçabilité à l'aide de Dataplex Universal Catalog, BigQuery Studio, et Vertex AI dans la Google Cloud console.

Tarifs

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

Avant de commencer

  1. Dans la Google Cloud console, sur la page Sélecteur de projet, sélectionnez le projet contenant le cluster Dataproc pour lequel vous souhaitez suivre la traçabilité.

    Accéder au sélecteur de projet

  2. Activez l'API Data Lineage et l'API Dataplex.

    Activer les API

Rôles requis

Pour obtenir les autorisations nécessaires pour utiliser la traçabilité des 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 la traçabilité des données Hive sur un cluster, spécifiez l'hive-lineage.sh action d'initialisation 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 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 :

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 tâche Hive 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 Google Cloud projet. Les ID de projet sont répertoriés dans la section Informations sur le projet du tableau de bord de la Google Cloud console Dashboard.
  • REGION : région Compute Engine où 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 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 les informations de traçabilité des données dans la Google Cloud consoleou 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 décrit dans 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é sur le cluster.
  2. Exécutez une requête Hive sur le cluster pour copier des données entre les 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 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 toutes les données de us_states dans 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'option --execute HIVE_QUERY par une option --file SQL_FILE pour spécifier l'emplacement du fichier hive-example.sql enregistré. Notez que les PROJECT et BQ_DATASET variables 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, affichez la traçabilité des données dans BigQuery Studio dans la Google Cloud console :

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