レガシおよびサード パーティのオンライン テーブルからの移行
このページでは、既存のオンライン テーブルを移行する方法について説明します。次の場所に移行できます。
- オンライン機能ストア
- Lakebase 同期テーブル
Databricks オンライン テーブルはサポートされなくなりました。
DatabricksオンラインFeature Store (Lakebase を利用した) は、オンラインFeature Servingに推奨されるアプローチです。
既存のオンラインテーブルをすべて一覧表示する
ワークスペース内の既存のオンライン テーブルをすべて表示するには、SQL クエリまたは Python スクリプトを使用します。
- SQL
- Python
<workspace_url>と<workspace_id>ワークスペース情報に置き換えます。
SELECT
CONCAT("https://<workspace_url>/pipelines/", usage_metadata.dlt_pipeline_id, "?o=<workspace_id>"),
SUM(usage_quantity)
FROM
system.billing.usage
WHERE
usage_date > DATE_SUB(NOW(), 7)
AND billing_origin_product = 'ONLINE_TABLES'
GROUP BY
ALL;
from databricks.sdk import *
from databricks.sdk.service.catalog import *
w = WorkspaceClient()
result = []
for catalog in w.catalogs.list():
for schema in w.schemas.list(catalog_name=catalog.name):
for table in w.tables.list(catalog_name=catalog.name, schema_name=schema.name):
if table.table_type == TableType.FOREIGN and table.data_source_format == DataSourceFormat.MYSQL_FORMAT and table.pipeline_id is not None:
result.append((table.full_name, table.comment))
print(result)
オンライン テーブルをモデルまたは Feature Serving エンドポイントのオンライン フィーチャ ストアに移行する
特徴量テーブルをOnline Feature Storeに公開した後、サービス提供エンドポイントに対するその後の変更 (スケーリング操作を含む) が行われると、オンラインFeature Storeを当然のソースとして使用するように自動的に切り替わります。 公開する前に、下流のシステムがこの変更に対応できることを確認してください。
ステップ 1: オンライン フィーチャ ストアを作成し、特徴量テーブルを公開する
Databricksテストと概念実証のためにワークスペースごとに 1 つのオンラインストアを作成することをお勧めします。 本番運用のユースケースや分離要件のために、追加のストアをプロビジョニングできます。
from databricks.feature_engineering import FeatureEngineeringClient
fe = FeatureEngineeringClient()
# Create a single online store that can support multiple feature tables
fe.create_online_store(
name="online-feature-store",
capacity="CU_1"
)
特徴量テーブルの公開の詳細については、 Databricks Online Feature Store」を参照してください。
ステップ 2: 移行を確認し、オンライン テーブルをクリーンアップする
次回エンドポイントを変更した後、エンドポイント イベントにLinked to Online Feature Store table: "table name"のようなメッセージが含まれているかどうかを確認して、エンドポイントが新しいオンラインストアを使用していることを確認します。 「モデルの品質とエンドポイントの健全性の監視」を参照してください。
確認が完了したら、従来のオンライン テーブルを削除します。「UI を使用してオンライン テーブルを削除する」またはAPIsを使用してオンライン テーブルを削除する」を参照してください。
OLTP の同期テーブルにオンライン テーブルを移行する
Lakebase プロビジョニングは、次のリージョンで利用できます: us-east-1 、 us-east-2 、 us-west-2 、 eu-central-1 、 eu-west-1 、 ap-south-1 、 ap-southeast-1 、 ap-southeast-2 。
Lakebase プロビジョニングは、手動でスケールするプロビジョニング コンピュートを使用します。 新しいLakebase オートスケールとの機能の比較については、 「バージョンの選択」を参照してください。
ステップ 1: データベースインスタンスを作成する
まず、同期されたテーブルを格納する Lakebase データベース インスタンスを作成します。「 データベース・インスタンスの作成と管理」を参照してください。
必要に応じて、データベース カタログを作成して、Unity Catalog 特権を使用してデータ アクセスを管理できます。「 Unity Catalog にデータベースを登録する」を参照してください。
ステップ 2: ソース テーブルから同期されたテーブルを作成する
同期テーブルは、Unity Catalog テーブルから Lakebase データベース インスタンスにデータを自動的に同期する Unity Catalog 読み取り専用 Postgres テーブルです。
オンラインテーブルから同期テーブルに移行するには、オンラインテーブルのソーステーブルから同期テーブルを作成します。
-
カタログ で、同期されたテーブルに移行するオンラインテーブルを選択します。
-
「 概要 」タブの「 説明」 セクションで、「 ソース」表 の名前をクリックします。
-
選択したソース テーブルから同期テーブルを作成します。Lakebase インスタンスを使用したリバース ETLを参照してください。
- 同期されたテーブルは、既存のオンライン・テーブルと同じカタログ・ロケーションに保管できます。
- 同期されたテーブル間でパイプラインを共有できます。
-
同期されたテーブルが作成されたら、データベースインスタンスに接続して直接クエリできます。接続 とクエリを参照してください。
ステップ 3: オンライン テーブルをクリーンアップする
同期されたテーブルを作成したら、オンラインテーブルを削除します。UI を使用したオンラインテーブルの削除 または APIsを使用したオンラインテーブルの削除を参照してください。
UI を使用してオンライン テーブルを削除する
オンラインテーブルページから、 ケバブメニューから 削除 を選択します。
API を使用してオンライン テーブルを削除する
- Databricks SDK - Python
- REST API
w.online_tables.delete('main.default.my_online_table')
curl --request DELETE \
"https://xxx.databricks.com/api/2.0/online-tables/main.default.my_online_table" \
--header "Authorization: Bearer xxx"
オンライン テーブルを削除すると、進行中のデータ同期が停止され、そのすべてのリソースが解放されます。