Gestire i dati di lakehouse

Sincronizzare una tabella di Unity Catalog in Postgres e interrogarla insieme ai vostri dati operativi.

Passaggi: (1) Creare dati di analisi → (2) Sincronizzare con Lakebase → (3) Trovare i dati in Postgres → (4) Query in entrambi i mondi

Annotazioni

Questa è una guida introduttiva. Per la documentazione completa, vedere Sincronizzare le tabelle.

Prima di iniziare

  • Assicurarsi di aver completato Ottenere un database Postgres. È necessario un progetto Lakebase con dati di esempio.
  • Un notebook o un data warehouse SQL per le query del catalogo Unity.
  • USE_SCHEMA e CREATE_TABLE nello schema in cui si creerà la tabella sincronizzata.

Passaggio 1: Creare dati di analisi in Unity Catalog

Immagina che il team di data abbia creato punteggi di segmentazione degli utenti nel lakehouse. In produzione, questa sarebbe una tabella gold, un output ML o un set di dati arricchito. Per questa guida si creerà un piccolo esempio.

In un data warehouse SQL o in un notebook, esegui:

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

Nota che i valori user_id corrispondono alla colonna id nella tabella playing_with_lakebase di get-started. È intenzionale. Ti unirai a loro nel passaggio 4.

Altre informazioni: Tipi di origine supportati

Passaggio 2: Sincronizzare la tabella con Lakebase

In Catalog Explorer, passa alla tua user_segments tabella e crea da essa una tabella sincronizzata. Scegliere il database del databricks_postgres progetto Lakebase come destinazione e Snapshot come modalità di sincronizzazione. Lo snapshot copia i dati una sola volta, ovvero l'opzione più semplice per iniziare.

La sincronizzazione viene eseguita automaticamente. Al termine, nel database Lakebase viene visualizzata una nuova tabella di sola lettura. Il nome dello schema di Unity Catalog diventa il nome dello schema Postgres e il nome della tabella ottiene un _synced suffisso: default.user_segments_synced.

Altre informazioni: Creare una tabella sincronizzata (procedura completa) | Modalità di sincronizzazione

Passaggio 3: Trovare i dati in Postgres

Passare all'editor SQL di Lakebase. I dati di analisi di Unity Catalog sono ora disponibili per query con Postgres SQL standard. Cerca l'utente 1:

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

Annotazioni

default deve essere racchiusa tra virgolette perché si tratta di una parola chiave riservata postgreSQL. Lo schema della tabella sincronizzata eredita il nome dello schema del catalogo Unity, quindi se lo schema è denominato default, è necessario specificarlo sempre nelle query.

Verrà visualizzato l'utente 1 con segmento power_user e un punteggio di engagement pari a 0.92. Questa è la stessa riga creata in Unity Catalog, ora disponibile in Postgres con letture a bassa latenza.

Altre informazioni: Mapping dei tipi di dati

Passaggio 4: Eseguire query in entrambi gli ambienti

Ecco il pagamento. La playing_with_lakebase tabella contiene dati operativi. La tabella user_segments_synced dispone di funzionalità di analisi lakehouse. Unisciti a loro:

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;

L'applicazione può ora fornire dati arricchiti. Una singola query Postgres combina ciò che l'app conosce (nomi, valori) con ciò che il lakehouse ha calcolato (segmenti, punteggi). Nessuna chiamata API al lakehouse, nessun script di sincronizzazione, nessuna penalità di latenza.

Altre informazioni: Pianificazione della capacità

Passaggi successivi