レイクハウスデータの提供
Unity CatalogテーブルをPostgresに同期し、運用データと並行してクエリを実行します。
ステップ: ①アナリティクス データを作成→ ② Lakebaseに同期→ ③ Postgres でデータを検索→ ④両方の世界でクエリを実行
これはクイックスタートガイドです。詳細なドキュメントについては、 「同期テーブル」を参照してください。
始める前に
- 「Postgresデータベースを取得する」を完了したことを確認してください。サンプルデータを含むLakebaseプロジェクトが必要です。
- Unity Catalogクエリ用のSQLウェアハウスまたはノートブック。
- 同期テーブルを作成するスキーマに対して、 USE_SCHEMA と CREATE_TABLEを 実行します。
ステップ 1: Unity Catalogでアナリティクス データを作成する
データ チームがレイクハウスでユーザー セグメンテーション スコアを構築したと想像してください。 本番ゴールド運用では、これはテーブル、 ML出力、または強化されたデータセットになります。 このガイドでは、簡単なサンプルを作成します。
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値が、get-startedのplaying_with_lakebaseテーブルのid列の値と一致していることに注目してください。それは意図的なものです。ステップ 4 で参加します。
詳細はこちら:サポートされているソースの種類
ステップ 2: テーブルをLakebaseに同期します
カタログエクスプローラーで、 user_segmentsテーブルに移動し、そこから同期テーブルを作成します。Lakebaseプロジェクトのdatabricks_postgresデータベースをターゲットとして選択し、同期モードとして スナップショットを 選択してください。スナップショットはデータを一度だけコピーするもので、最初に始めるには最も簡単な方法です。
同期は自動的に実行されます。処理が完了すると、Lakebaseデータベースに新しい読み取り専用テーブルが作成されます。Unity Catalog のスキーマ名が Postgres のスキーマ名になり、テーブル名には_syncedサフィックスが付きます: default.user_segments_synced 。
詳細はこちら:同期テーブルの作成(手順全体) |同期モード
ステップ 3: Postgres でデータを見つける
Lakebase SQLエディタに切り替えてください。Unity Catalogからのアナリティクス データは、標準の Postgres SQLでクエリできるようになりました。 ユーザー1を探す:
SELECT * FROM "default".user_segments_synced WHERE user_id = 1;
default これはPostgreSQLの予約語なので、引用符で囲む必要があります。同期されたテーブルスキーマはUnity Catalogスキーマ名を継承するため、スキーマ名がdefaultの場合は、クエリで常に引用符で囲む必要があります。
ユーザー1はセグメントpower_userに属し、エンゲージメントスコアは0.92であるはずです。これは、Unity Catalogで作成した行と同じもので、低遅延の読み取りが可能なPostgresで利用できるようになりました。
詳細はこちら:データ型マッピング
ステップ 4: 両方の世界にわたるクエリ
これがその見返りだ。playing_with_lakebaseテーブルには運用データが含まれています。user_segments_syncedテーブルにはレイクハウス アナリティクスがあります。 彼らに加わろう:
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 クエリは、アプリが認識している内容 (名前、値) とレイクハウス コンピュートの内容 (セグメント、スコア) を組み合わせます。 レイクハウスへのAPI呼び出し、同期スクリプト、遅延ペナルティはありません。
詳細はこちら:キャパシティプランニング
次のステップ
- データを常に最新の状態に保つ: 継続的な更新のために、トリガー同期モードまたは継続同期モードを設定してください。
- アプリを構築する: 同期されたデータをDatabricksアプリまたは外部アプリケーションで使用します。
- Lakebaseを探求する: コアコンセプト| Lakebase