メインコンテンツまでスキップ

レイクハウスデータの提供

Unity CatalogテーブルをPostgresに同期し、運用データと並行してクエリを実行します。

ステップ:アナリティクス データを作成→ ② Lakebaseに同期→ ③ Postgres でデータを検索→ ④両方の世界でクエリを実行

注記

これはクイックスタートガイドです。詳細なドキュメントについては、 「同期テーブル」を参照してください。

始める前に

  • 「Postgresデータベースを取得する」を完了したことを確認してください。サンプルデータを含むLakebaseプロジェクトが必要です。
  • Unity Catalogクエリ用のSQLウェアハウスまたはノートブック。
  • 同期テーブルを作成するスキーマに対して、 USE_SCHEMACREATE_TABLEを 実行します。

ステップ 1: Unity Catalogでアナリティクス データを作成する

データ チームがレイクハウスでユーザー セグメンテーション スコアを構築したと想像してください。 本番ゴールド運用では、これはテーブル、 ML出力、または強化されたデータセットになります。 このガイドでは、簡単なサンプルを作成します。

SQLウェアハウスまたはノートブックで、以下を実行します。

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を探す:

SQL
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テーブルにはレイクハウス アナリティクスがあります。 彼らに加わろう:

SQL
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呼び出し、同期スクリプト、遅延ペナルティはありません。

詳細はこちら:キャパシティプランニング

次のステップ