Обслуживание данных lakehouse

Синхронизируйте таблицу каталога Unity с Postgres и запрашивайте ее вместе с операционными данными.

Шаги. (1) Создание аналитических данных → (2) Синхронизация с Lakebase → (3) Поиск данных в Postgres → (4) Запрос в обоих мирах

Note

Это краткое руководство по началу работы. Полная документация см. в таблицах синхронизации.

Перед тем как начать

  • Убедитесь, что вы получили базу данных Postgres. Вам нужен проект Lakebase с примерами данных.
  • Хранилище SQL или записная книжка для запросов каталога Unity.
  • USE_SCHEMA и CREATE_TABLE схемы, в которой вы создадите синхронизированную таблицу.

Шаг 1. Создание данных аналитики в каталоге Unity

Представьте, что ваша команда данных создала оценки сегментации пользователей в lakehouse. В рабочей среде это будет золотая таблица, выходные данные машинного обучения или обогащенный набор данных. В этом руководстве вы создадите небольшой пример.

В хранилище SQL или записной книжке выполните следующую команду:

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

Обратите внимание, что значения user_id соответствуют значениям в столбце id в таблице playing_with_lakebase из get-started. Это намеренно. Вы присоединитесь к ним на шаге 4.

Дополнительные сведения: поддерживаемые типы источников

Шаг 2. Синхронизация таблицы с Lakebase

В обозревателе каталогов перейдите к user_segments таблице и создайте из нее синхронизированную таблицу. Выберите базу данных databricks_postgres проекта Lakebase как целевую и Снимок в качестве режима синхронизации. При использовании моментального снимка данные копируются один раз — это самый простой вариант для начала.

Синхронизация выполняется автоматически. По завершении в базе данных Lakebase появится новая таблица только для чтения. Имя схемы из каталога Unity становится именем схемы Postgres, а имя таблицы получает _synced суффикс: default.user_segments_synced

Дополнительные сведения. Создание синхронизированной таблицы (полная процедура) | Режимы синхронизации

Шаг 3. Поиск данных в Postgres

Перейдите в редактор SQL Lakebase. Теперь данные аналитики из каталога Unity можно запрашивать с помощью стандартного SQL Postgres. Найдите пользователя 1:

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

Note

default должен быть в кавычках, так как это зарезервированное ключевое слово PostgreSQL. Синхронизированная схема таблицы наследует имя схемы каталога Unity, поэтому если ваша схема называется default, всегда следует процитировать ее в запросах.

Вы должны увидеть пользователя 1 с сегментом power_user и оценкой участия 0.92. Эта же строка, созданная в каталоге Unity, теперь доступна в Postgres с низкой задержкой чтения.

Дополнительные сведения: сопоставление типов данных

Шаг 4: Выполнение запроса в обеих средах

А вот и результат. В таблице playing_with_lakebase содержатся оперативные данные. Ваша таблица user_segments_synced поддерживает аналитику Lakehouse. Присоединяйтесь к ним:

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;

Теперь приложение может обслуживать обогащенные данные. Один запрос Postgres объединяет то, что знает приложение (имена, значения), с тем, что вычислил lakehouse (сегменты, оценки). Никаких вызовов API к Lakehouse, никаких скриптов синхронизации, никаких потерь из-за задержки.

Дополнительные сведения: планирование емкости

Дальнейшие действия