Aller au contenu principal

Utiliser les LakeFlow Pipelines avec le Hive metastore hérité

Configurez les LakeFlow Pipelines pour publier des données dans le Hive metastore hérité, y compris l'emplacement de stockage, l'accès au stockage cloud et le log d'événements. Databricks recommande d'utiliser Unity Catalog pour tous les nouveaux pipelines. Voir Utiliser Unity Catalog avec des pipelines.

remarque

Cet article aborde les fonctionnalités du mode de publication par default actuel pour les pipelines. Les pipelines créés avant le 5 février 2025, pourraient utiliser le mode de publication hérité et le schéma virtuel LIVE. Voir le schéma EN DIRECT (hérité).

Interroger les tables streaming et les vues matérialisées dans Hive metastore

Une fois la mise à jour terminée, vous pouvez afficher le schéma et les tables, query les données ou les utiliser dans des applications en aval.

Après leur publication, les tables de pipeline peuvent être interrogées depuis n'importe quel environnement ayant accès au schéma cible. Cela inclut Databricks SQL, les notebooks et d'autres LakeFlow Pipelines.

important

Lorsque vous créez une configuration target, seules les tables et les métadonnées associées sont publiées. Les vues ne sont pas publiées dans le métastore.

Configurez un pipeline pour publier sur Hive metastore

Pour publier dans le Hive metastore hérité, choisissez Utiliser Hive Metastore sous Options avancées lors de la création d'un nouveau pipeline (vous devrez peut-être choisir Voir plus pour voir l'option). Vous devez spécifier un schéma cible default lors de la publication dans Hive metastore. Voir Configurer les pipelines.

Spécifiez un emplacement de stockage

Vous pouvez spécifier un emplacement de stockage pour un pipeline qui publie dans le Hive metastore. La principale motivation pour spécifier un emplacement est de contrôler l’emplacement de stockage des objets pour les données écrites par votre pipeline. Databricks recommande de toujours spécifier un emplacement de stockage pour éviter d’écrire dans la racine DBFS.

Comme LakeFlow Pipelines gère entièrement toutes les tables, les données, les points de contrôle et les métadonnées, la plupart des interactions avec les datasets de pipeline se font via des tables enregistrées dans le Hive metastore ou Unity Catalog.

Configuration du stockage cloud

Vous utilisez les profils d'instance AWS pour configurer l'accès au stockage S3 dans AWS. Pour ajouter un profil d'instance dans l'interface utilisateur de Lakeflow Pipelines lorsque vous créez ou modifiez un pipeline :

  1. Lorsque vous modifiez un pipeline dans l'Lakeflow Pipelines Editor, cliquez sur le bouton Paramètres .
  2. Dans le menu déroulant Instance profile de la section Compute des paramètres du pipeline, sélectionnez un profil d'instance.

Pour configurer un profil d'instance AWS en modifiant les paramètres JSON pour vos clusters de pipeline, cliquez sur le bouton JSON et saisissez la configuration du profil d'instance dans le champ aws_attributes.instance_profile_arn de la configuration du cluster :

JSON
{
"clusters": [
{
"aws_attributes": {
"instance_profile_arn": "arn:aws:..."
}
}
]
}

Vous pouvez également configurer des profils d'instance lorsque vous créez des stratégies de clusters pour vos LakeFlow Pipelines. Pour un exemple, voir la base de connaissances.

Travailler avec le journal des événements pour les pipelines Hive metastore

Si votre pipeline publie des tables dans le Hive metastore, le journal des événements est stocké dans /system/events sous l'emplacement storage. Par exemple, si vous avez configuré le paramètre storage de votre pipeline comme /Users/username/data, le journal des événements est stocké au chemin /Users/username/data/system/events dans DBFS.

Si vous n'avez pas configuré le paramètre storage, l'emplacement par défaut des logs d'événements est /pipelines/<pipeline-id>/system/events dans DBFS. Par exemple, si l'ID de votre pipeline est 91de5e48-35ed-11ec-8d3d-0242ac130003, l'emplacement de stockage est /pipelines/91de5e48-35ed-11ec-8d3d-0242ac130003/system/events.

Vous pouvez créer une vue pour simplifier l'interrogation du log des événements. L'exemple suivant crée une vue temporaire appelée event_log_raw. Cette vue est utilisée dans les exemples de requêtes de log d'événements inclus dans cet article :

SQL
CREATE OR REPLACE TEMP VIEW event_log_raw
AS SELECT * FROM delta.`<event-log-path>`;

Remplacez <event-log-path> par l’emplacement du log d’événements.

Chaque instance d’exécution de pipeline est appelée une mise à jour . Vous souhaitez souvent extraire des informations pour la mise à jour la plus récente. Exécutez la query suivante pour trouver l’identifiant de la mise à jour la plus récente et enregistrez-la dans la vue temporaire latest_update_id. Cette vue est utilisée dans les exemples de queries de log d’événements inclus dans cet article :

SQL
CREATE OR REPLACE TEMP VIEW latest_update AS
SELECT origin.update_id AS id
FROM event_log_raw
WHERE event_type = 'create_update'
ORDER BY timestamp DESC
LIMIT 1;

Vous pouvez interroger le journal d'événements dans un Notebook Databricks ou l'éditeur SQL. Utilisez un Notebook ou l'éditeur SQL pour exécuter les exemples de requêtes du Log d'événements.

Exemples de Notebooks de code source de pipeline pour les Workspaces sans Unity Catalog

Vous pouvez importer les Notebooks suivants dans un Workspace Databricks sans que Unity Catalog ne soit activé et les utiliser pour déployer des LakeFlow Pipelines. Importez le Notebook de la langue de votre choix et spécifiez le chemin dans le champ **Code source** lors de la configuration d'un pipeline avec l'option de stockage **Hive metastore**. Consultez Configurer des pipelines.

Démarrez avec le Notebook Python des LakeFlow Pipelines

start avec le Notebook SQL LakeFlow Pipelines