Activer la traçabilité des données Hive

Ce document vous explique comment activer et utiliser la traçabilité des données pour les jobs Hive Managed Service pour Apache Spark.

Vous pouvez activer la traçabilité des données pour les jobs Hive Managed Service pour Apache Spark à 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 Knowledge 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 Knowledge Catalog, BigQuery Studio et Vertex AI dans la console Google Cloud .

Tarifs

La traçabilité des données Hive de Managed Service pour Apache Spark est proposée en aperçu sans frais supplémentaires. La tarification standard de Managed Service pour Apache Spark 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 Managed Service pour Apache Spark 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 Managed Service pour Apache Spark, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le compte de service de la VM du cluster Managed Service pour Apache Spark :

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 Managed Service pour Apache Spark. 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 la traçabilité des 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 un job Hive à un cluster Managed Service pour Apache Spark créé avec l'option d'activation de la traçabilité des données Hive, Managed Service pour Apache Spark capture et signale les informations de traçabilité des données à Knowledge Catalog.

Exemple d'envoi de job Hive avec 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 Knowledge 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 sur la traçabilité 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 Managed Service pour Apache Spark 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 les 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 Managed Service pour Apache Spark

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

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 Managed Service pour Apache Spark 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