Lakehouse-Daten bereitstellen

Synchronisieren Sie eine Unity-Katalogtabelle mit Postgres, und fragen Sie sie zusammen mit Ihren Betriebsdaten ab.

Schritte: (1) Erstellen von Analysedaten → (2) Synchronisierung mit Lakebase → (3) Suchen Ihrer Daten in Postgres → (4) Abfrage auf beiden Welten

Note

Dies ist eine Schnellstartanleitung. Vollständige Dokumentation finden Sie unter "Synchronisierungstabellen".

Bevor Sie anfangen

  • Stellen Sie sicher, dass Sie Eine Postgres-Datenbank beziehen abgeschlossen haben. Sie benötigen ein Lakebase-Projekt mit Beispieldaten.
  • Ein SQL Warehouse oder Notizbuch für Unity-Katalogabfragen.
  • USE_SCHEMA und CREATE_TABLE im Schema, in dem Sie die synchronisierte Tabelle erstellen.

Schritt 1: Erstellen von Analysedaten im Unity-Katalog

Stellen Sie sich vor, dass Ihr Datenteam Scores zur Nutzersegmentierung im Lakehouse erstellt hat. In der Produktion wäre das eine Goldtabelle, eine ML-Ausgabe oder ein angereicherter Datensatz. Für diesen Leitfaden erstellen Sie ein kleines Beispiel.

Führen Sie in einem SQL Warehouse oder Notizbuch Folgendes aus:

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);

Beachten Sie, dass die user_id-Werte mit der id-Spalte in Ihrer playing_with_lakebase-Tabelle aus „Erste Schritte“ übereinstimmen. Das ist beabsichtigt. Sie werden diesen in Schritt 4 beitreten.

Weitere Informationen: Unterstützte Quelltypen

Schritt 2: Synchronisieren der Tabelle mit Lakebase

Navigieren Sie im Katalog-Explorer zu Ihrer user_segments Tabelle, und erstellen Sie eine synchronisierte Tabelle daraus. Wählen Sie die Datenbank Ihres Lakebase-Projekts als Ziel und databricks_postgres als Synchronisierungsmodus aus. Snapshot kopiert die Daten einmal, was die einfachste Option für die ersten Schritte ist.

Die Synchronisierung wird automatisch ausgeführt. Nach Abschluss des Vorgangs wird in Ihrer Lakebase-Datenbank eine neue schreibgeschützte Tabelle angezeigt. Der Schema-Name aus Unity Catalog wird zum Postgres-Schemanamen, und der Tabellenname erhält das Suffix _synced: default.user_segments_synced.

Weitere Informationen: Erstellen einer synchronisierten Tabelle (vollständige Prozedur) | Synchronisierungsmodi

Schritt 3: Suchen Ihrer Daten in Postgres

Wechseln Sie zum SQL-Editor für Lakebase. Die Analysedaten aus dem Unity-Katalog können jetzt mit dem Standardmäßigen Postgres SQL abfragt werden. Suchen Sie nach Benutzer 1:

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

Note

default muss zitiert werden, da es sich um ein reserviertes Schlüsselwort von PostgreSQL handelt. Das schema der synchronisierten Tabelle erbt den Namen des Unity-Katalogschemas. Wenn Ihr Schema also benannt defaultist, müssen Sie es immer in Abfragen zitieren.

Sie sollten den Benutzer 1 mit Segment power_user und einem Engagement-Score von 0.92 sehen. Dies ist dieselbe Zeile, die Sie in Unity Catalog erstellt haben und die nun in Postgres für Lesezugriffe mit geringer Latenz verfügbar ist.

Weitere Informationen: Datentypzuordnung

Schritt 4: Abfragen in beiden Welten

Dies ist die Auszahlung. Ihre playing_with_lakebase Tabelle enthält Betriebsdaten. Ihre user_segments_synced Tabelle verfügt über Lakehouse-Analysen. Treten Sie ihnen bei:

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;

Ihre Anwendung kann nun anreicherte Daten bedienen. Eine einzelne Postgres-Abfrage kombiniert, was die App weiß (Namen, Werte), mit dem, was das Lakehouse berechnet hat (Segmente, Scores). Keine API-Aufrufe an das Seehaus, keine Synchronisierungsskripts, keine Latenzstrafe.

Weitere Informationen: Kapazitätsplanung

Nächste Schritte