Diffusion des données du lakehouse

Synchronisez une table de catalogue Unity dans Postgres et interrogez-la en même temps que vos données opérationnelles.

Étapes : (1) Créer des données analytiques → (2) Synchroniser avec Lakebase → (3) Rechercher vos données dans Postgres → (4) Requête dans les deux mondes

Note

Il s’agit d’un guide de démarrage rapide. Pour obtenir une documentation complète, consultez Les tables de synchronisation.

Avant de commencer

  • Assurez-vous que vous avez terminé d’obtenir une base de données Postgres. Vous avez besoin d’un projet Lakebase avec des exemples de données.
  • Un entrepôt SQL ou un notebook pour les requêtes de catalogue Unity.
  • USE_SCHEMA et CREATE_TABLE sur le schéma dans lequel vous allez créer la table synchronisée.

Étape 1 : Créer des données d’analytique dans le catalogue Unity

Imaginez que votre équipe de données a créé des scores de segmentation des utilisateurs dans le lakehouse. En production, il pourrait s’agir d’une table « gold », d’une sortie ML ou d’un jeu de données enrichi. Pour ce guide, vous allez créer un petit exemple.

Dans un entrepôt SQL ou un notebook, exécutez :

CREATE TABLE main.default.user_segments AS
SELECT * FROM VALUES
  (1, 'power_user', 0.92),
  (2, 'casual', 0.35),
  (3, 'power_user', 0.88)
AS segments(user_id, segment, engagement_score);

Notez que les valeurs user_id correspondent à la colonne id de votre tableau playing_with_lakebase de get-started. C’est intentionnel. Vous les joindreez à l’étape 4.

En savoir plus : Types sources pris en charge

Étape 2 : Synchroniser la table avec Lakebase

Dans l’Explorateur de catalogues, accédez à votre user_segments table et créez une table synchronisée à partir de celle-ci. Choisissez la base de données de databricks_postgres votre projet Lakebase comme cible et instantané comme mode de synchronisation. L’instantané copie les données une seule fois ; c’est l’option la plus simple pour commencer.

La synchronisation s’exécute automatiquement. Une fois cette opération terminée, une nouvelle table en lecture seule apparaît dans votre base de données Lakebase. Le nom de schéma de Unity Catalog devient le nom du schéma Postgres et le nom de la table obtient un _synced suffixe : default.user_segments_synced.

En savoir plus : Créer une table synchronisée (procédure complète)Modes | de synchronisation

Étape 3 : Rechercher vos données dans Postgres

Basculez vers l’éditeur SQL Lakebase. Les données d’analyse du catalogue Unity sont désormais interrogeables avec Postgres SQL standard. Recherchez l’utilisateur 1:

SELECT * FROM "default".user_segments_synced WHERE user_id = 1;

Note

default doit être cité, car il s’agit d’un mot clé réservé PostgreSQL. Le schéma de table synchronisé hérite du nom du schéma du catalogue Unity. Par conséquent, si votre schéma est nommé default, vous devez toujours le citer dans les requêtes.

Vous devez voir l’utilisateur 1 avec le segment power_user et un score d’engagement de 0.92. Il s’agit de la même ligne que celle que vous avez créée dans le catalogue Unity, désormais disponible dans Postgres avec des lectures à faible latence.

En savoir plus : Mappage de type de données

Étape 4 : Interroger dans les deux mondes

Voici le paiement. Votre playing_with_lakebase table contient des données opérationnelles. Votre table user_segments_synced dispose de fonctionnalités d’analytique lakehouse. Rejoignez-les :

SELECT
  p.id,
  p.name,
  p.value,
  s.segment,
  s.engagement_score
FROM playing_with_lakebase p
JOIN "default".user_segments_synced s ON p.id = s.user_id;

Votre application peut désormais servir des données enrichies. Une requête Postgres unique combine ce que l’application connaît (noms, valeurs) avec ce que le lakehouse a calculé (segments, scores). Aucun appel d’API au lakehouse, aucun script de synchronisation, aucune pénalité de latence.

En savoir plus : Planification de la capacité

Étapes suivantes