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

Pour accéder à un bucket dans Google Cloud Storage (GCS), vous devez créer un compte de service avec accès à ce bucket GCS et ajouter ce compte de service aux configurations des clusters. Pour plus d'informations sur la création d'un compte de service Google Cloud, consultez Se connecter à Google Cloud Storage. Vous pouvez ajouter la configuration du compte de service lorsque vous créez ou modifiez un pipeline avec l'API LakeFlow Pipelines ou dans l'interface utilisateur de LakeFlow Pipelines :

  1. Lorsque vous modifiez un pipeline dans l'éditeur Lakeflow Pipelines, cliquez sur Icône d'engrenage. Paramètres .
  2. Cliquez sur le bouton JSON .
  3. Saisissez la configuration du compte de service dans le champ gcp_attributes.google_service_account de la configuration du cluster :
JSON
{
"clusters": [
{
"gcp_attributes": {
"google_service_account": "test-gcs-doc@databricks-dev.iam.gserviceaccount.com"
}
}
]
}

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