Partager via


Migrer à partir de tables en ligne héritées et tierces

Cette page explique comment migrer vos tables en ligne existantes. Vous pouvez migrer vers les éléments suivants :

  • Un magasin de fonctionnalités en ligne
  • Table synchronisée Lakebase

Important

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

Databricks Online Feature Store (alimenté par Lakebase) est l’approche recommandée pour le service de fonctionnalités en ligne.

Répertorier toutes les tables en ligne existantes

Pour afficher toutes les tables en ligne existantes dans votre espace de travail, utilisez une requête SQL ou un script Python.

SQL

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

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;

Python

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)

Migrer des tables en ligne vers le magasin de fonctionnalités en ligne pour les points de terminaison de modèle ou de service de fonctionnalités

Important

Cette fonctionnalité est disponible en préversion publique et est disponible dans les régions suivantes :

westus, westus2, eastus, eastus2, northeurope, westeurope, australiaeast, brazilsouth, canadacentral, centralindia, centralus, southcentralus, southeastasia,uksouth

Étape 1 : Créer un magasin de fonctionnalités en ligne et publier les tables de fonctionnalités

Databricks recommande de créer un magasin en ligne unique par espace de travail pour le test et la preuve de concept. Pour les cas d’usage de production ou les exigences d’isolation, vous pouvez provisionner des stockages supplémentaires.

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

Pour plus d’informations sur la publication de tables de fonctionnalités, consultez Databricks Online Feature Stores.

Étape 2 : Mettre à jour le point de terminaison qui dépend de ces fonctionnalités en ligne

Utilisez le Kit de développement logiciel (SDK) Databricks pour Python ou l’interface utilisateur pour mettre à jour le point de terminaison avec une nouvelle variable MIGRATE_FEATURE_STORE d’environnement avec la date actuelle comme valeur.

from databricks.sdk import WorkspaceClient
from databricks.sdk.service.serving import EndpointCoreConfigInput, ServedEntityInput

workspace = WorkspaceClient()

workspace.serving_endpoints.update_config(
  name="my-serving-endpoint",
  served_entities=[
    ServedEntityInput(
      entity_name="main.default.customer_features",
      workload_size="Small",
      scale_to_zero_enabled=True,
      environment_vars={
        # Set to the current date (optional time) to indicate migration to online store
        # This environment variable can be removed after January 15, 2026.
        "MIGRATE_FEATURE_STORE": "2025-11-13"
      }
    )
  ]
)

Pour plus d’informations, consultez Mettre à jour un point de terminaison.

Étape 3 : Nettoyer vos tables en ligne

Vérifiez que le point de terminaison utilise le nouveau magasin en ligne en vérifiant si les événements de point de terminaison contiennent des messages tels que Linked to Online Feature Store table: "table name". Consultez Surveiller la qualité du modèle et l’intégrité du point de terminaison.

Ensuite, 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’API.

Migrer des tables en ligne vers des tables synchronisées pour OLTP

Important

Cette fonctionnalité est en préversion publique dans les régions suivantes : westus, , westus2eastuseastus2, , centralus, southcentralus, , northeuropewesteurope, , australiaeastbrazilsouth, , canadacentral, centralindia, , . southeastasiauksouth

Étape 1 : Créer une instance de base de données

Pour commencer, créez une instance de base de données Lakebase pour stocker vos tables synchronisées. Consultez Créer et gérer une instance de base de données.

Si vous le souhaitez, vous pouvez créer un catalogue de bases de données pour utiliser des privilèges de catalogue Unity pour gérer l’accès aux données. Consultez Inscrire votre base de données dans le catalogue Unity.

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

Une table synchronisée est une table Postgres en lecture seule de catalogue Unity qui synchronise automatiquement les données d’une table Unity Catalog avec votre instance de base de données Lakebase.

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 l’icône Données.Catalogue, sélectionnez la table en ligne à migrer vers une table synchronisée.
  2. Sous l’onglet Vue d’ensemble , sous la section Description , cliquez sur le nom de la table source.
  3. Créez une table synchronisée à partir de la table source sélectionnée. Consultez ETL inverse avec Lakebase.
    • Vous pouvez stocker la table synchronisée dans le 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 à l’instance de base de données et l’interroger directement. Consultez Se connecter et interroger.

É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’API.

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

Dans la page de tableau en ligne, sélectionnez Supprimer dans l’icône de menu Kebab. Menu kebab.

Supprimer une table en ligne à l’aide d’API

Kit de développement logiciel (SDK) Databricks – Python

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

REST API

curl --request DELETE \
  "https://xxx.databricks.com/api/2.0/online-tables/main.default.my_online_table" \
  --header "Authorization: Bearer xxx"

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