Aller au contenu principal

Migrer des tables en ligne héritées et tierces

Migrez vos tables en ligne existantes vers l'un des éléments suivants :

  • Un magasin de fonctionnalités en ligne
  • Une table synchronisée Lakebase
important

Les tables en ligne Databricks ne sont plus prises en charge.

Magasin de fonctionnalités en ligne Databricks (optimisé par Lakebase) est l’approche recommandée pour le Online Feature Serving.

Répertorier toutes les tables en ligne existantes

Pour afficher toutes les tables en ligne existantes dans votre workspace, utilisez une query SQL ou un script Python.

Remplacez <workspace_url> et <workspace_id> par les informations de votre Workspace.

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

Migrez les tables en ligne vers un Magasin de fonctionnalités en ligne pour les Endpoint de modèle ou de Feature Serving

info

Après avoir publié vos tables de fonctionnalités dans le Magasin de fonctionnalités en ligne, toute modification ultérieure de vos Endpoint de service — y compris les opérations de mise à l'échelle — les fait automatiquement basculer pour utiliser le Magasin de fonctionnalités en ligne comme source par default. Assurez-vous que vos systèmes en aval sont préparés à ce changement avant la publication.

Étape 1 : créez un Magasin de fonctionnalités en ligne et publiez les tables de fonctionnalités

Databricks recommande de créer une seule boutique en ligne par workspace pour les tests et les preuves de concept. Pour les cas d'usage en production ou les exigences d'isolation, vous pouvez provisionner des magasins supplémentaires.

Python
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_2"
)

Pour plus de détails sur la publication de tables de fonctionnalités, consultez les Magasins de fonctionnalités en ligne Databricks.

Étape 2 : Redéployez votre Endpoint de service avec la variable d'environnement FEATURE_SOURCE

Pour faire passer votre endpoint de service au nouveau magasin en ligne, définissez la variable d'environnement FEATURE_SOURCE à DATABRICKS_ONLINE_STORE sur chaque entité servie et redéployez l'endpoint.

Vous pouvez le configurer dans l'interface utilisateur de l'Endpoint de diffusion sous Configuration avancée › Variables d'environnement , ou en utilisant l'API REST.

Étape 3 : Vérifiez la migration et nettoyez vos tables en ligne

Après votre prochaine modification de l'Endpoint, vérifiez que l'Endpoint utilise le nouveau magasin en ligne en vérifiant si les événements de l'Endpoint contiennent des messages comme Linked to Online Feature Store table: "table name". Consulter Surveiller la qualité du modèle et l'état de l'Endpoint.

Une fois vérifié, supprimez vos tables en ligne héritées. Consultez Supprimer une table en ligne à l'aide de l'interface utilisateur ou Supprimer une table en ligne à l'aide d'APIs.

Migrez les tables en ligne vers des tables synchronisées pour OLTP

Étape 1 : Créer un projet d'autoscaling Lakebase

Pour start, créez un projet d'Autoscaling Lakebase pour stocker vos tables synchronisées. Voir Créer un projet.

En option, vous pouvez créer un catalogue de bases de données pour utiliser les privilèges Unity Catalog afin de gérer l'accès aux données. Consultez Enregistrer une base de données Lakebase dans Unity Catalog.

Étape 2 : Créer une table synchronisée à partir de la table source

Une table synchronisée est une table Postgres en lecture seule d'Unity Catalog qui synchronise automatiquement les données d'une table Unity Catalog vers votre projet Lakebase Autoscaling.

Pour migrer des tables en ligne vers des tables synchronisées, créez une table synchronisée à partir de la table source d'une table en ligne :

  1. Dans Icône de données. Catalogue , sélectionnez la table en ligne que vous souhaitez migrer vers une table synchronisée.

  2. Dans l'onglet Vue d'ensemble , sous la section Description , cliquez sur le nom de la table des sources .

  3. Créez une table synchronisée à partir de la table source sélectionnée. Voir Servir les données lakehouse avec des tables synchronisées.

    • Vous pouvez stocker la table synchronisée au même emplacement de catalogue que la table en ligne existante.
    • Vous pouvez partager un pipeline entre des tables synchronisées.
  4. Une fois votre table synchronisée créée, vous pouvez vous connecter au projet et le query directement. Consultez le Démarrage rapide.

Étape 3 : Nettoyer vos tables en ligne.

Après avoir créé vos tables synchronisées, supprimez vos tables en ligne. Consultez Supprimer une table en ligne à l'aide de l'interface utilisateur ou Supprimer une table en ligne à l'aide d'APIs.

Supprimer une table en ligne à l'aide de l'interface utilisateur

Depuis la page de la table en ligne, sélectionnez Supprimer dans le menu kebab Icône du menu kebab..

Supprimer une table en ligne à l'aide des APIs

Python
w.online_tables.delete('main.default.my_online_table')

La suppression de la table en ligne arrête toute synchronisation de données en cours et libère toutes ses ressources.