Fuente de distribución de datos de cambio diferencial en la creación de reflejo para Fabric

La fuente de cambios de datos de Delta (CDF) captura inserciones, actualizaciones y eliminaciones, y luego los aplica a las tablas de Delta Lake en OneLake. Este flujo admite análisis casi en tiempo real sin recargas completas ni canalizaciones ETL pesadas.

  • Procesa continuamente los cambios incrementales (basados en delta).
  • Usa el procesamiento solo de cambios.
  • Admite el procesamiento incremental descendente.
  • Está disponible para todas las fuentes de réplica, incluidos los socios de réplica abiertos.

Prerrequisitos

  • Una capacidad de Microsoft Fabric (F2 o superior) o una prueba de Fabric.
  • Una base de datos reflejada en un área de trabajo de Fabric.
  • Hay un Fabric Lakehouse en el mismo espacio de trabajo o en otro espacio de trabajo (para consultar los datos de CDF)

Habilitar la fuente de cambios de datos delta en el portal de Fabric

Habilite la fuente de distribución de datos de cambios delta para cada base de datos reflejada.

  1. Para cualquier origen espejado, seleccione el icono del engranaje para abrir el panel de configuración.
  2. En Administración de tablas delta, active la casilla Habilitar la alimentación de datos de cambios delta.

Captura de pantalla del panel de configuración de reflejo de la base de datos de Oracle que muestra la configuración de la fuente de datos delta, las opciones de acceso a datos OneLake y el estado de replicación.

Habilitar la fuente de cambios de datos delta mediante las API

Para habilitar la fuente de cambios de datos delta mediante las API, consulte Habilitar la fuente de cambios de datos delta para una base de datos reflejada.

Habilitar la fuente de datos de cambios delta para las tablas existentes

Si creó la base de datos reflejada antes de que CDF estuviera disponible, puede habilitar CDF mediante la API REST de Fabric. El proceso recupera la definición actual, agrega la propiedad CDF y actualiza la definición.

  1. Recupere la definición de la base de datos reflejada:

    POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/mirroredDatabases/{mirroredDatabaseId}/getDefinition
    
  2. Descodifique la mirroring.json carga de la respuesta. La carga está codificada en Base64.

  3. Agregue "enableDeltaChangeDataFeed": true a la target.typeProperties sección :

    {
      "properties": {
        "source": { ... },
        "target": {
          "type": "MountedRelationalDatabase",
          "typeProperties": {
            "defaultSchema": "dbo",
            "format": "Delta",
            "enableDeltaChangeDataFeed": true,
            "retentionInDays": 1
          }
        }
      }
    }
    
  4. Vuelva a codificar el JSON actualizado en Base64 y, a continuación, actualice la definición:

    POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/mirroredDatabases/{mirroredDatabaseId}/updateDefinition
    

Después de actualizar la definición, vuelva a recuperarla y confirme que enableDeltaChangeDataFeed es true.

Consulta de datos modificados

Importante

Para consultar los datos de CDF, primero debe crear un acceso directo a Lakehouse que apunte a la tabla reflejada de la base de datos. No se pueden consultar directamente los datos de CDF desde el elemento de la base de datos reflejada. El acceso directo permite acceder a los archivos _change_data desde Spark.

  1. Crear un acceso directo a Lakehouse:

    1. En su espacio de trabajo de Fabric, abra o cree un Lakehouse.
    2. En el explorador de Lakehouse, seleccione Nuevo acceso directo.
    3. Seleccione Microsoft OneLake como origen.
    4. Vaya a la base de datos reflejada y seleccione la tabla que desea consultar.
    5. Seleccione Crear para terminar de crear el acceso directo.
  2. Abra un cuaderno de Fabric conectado a Lakehouse y use una de las siguientes opciones para consultar los datos modificados:

Opción A: Leer los cambios a partir de una versión específica

Utiliza la opción readChangeFeed con startingVersion para leer todos los cambios de CDF a partir de una versión específica de la tabla Delta. Reemplace <lakehouse_name> y <table_name> por los nombres de su Lakehouse y de su tabla.

df = spark.read.format("delta") \
    .option("readChangeFeed", "true") \
    .option("startingVersion", 0) \
    .table("<lakehouse_name>.<table_name>")

df.show()

Opción B: Leer los cambios dentro de un intervalo de marca de tiempo

Use la readChangeFeed opción con startingTimestamp y endingTimestamp para leer los cambios de CDF dentro de un período de tiempo específico.

df = spark.read.format("delta") \
    .option("readChangeFeed", "true") \
    .option("startingTimestamp", "2025-01-01T00:00:00Z") \
    .option("endingTimestamp", "2025-01-02T00:00:00Z") \
    .table("<lakehouse_name>.<table_name>")

df.show()

Opción C: Uso de la sintaxis sql

Use la table_changes() función SQL para consultar datos de CDF. Este enfoque funciona en cualquier contexto de Spark SQL.

df = spark.sql("""
    SELECT * FROM table_changes('<lakehouse_name>.<table_name>', 0)
""")

df.show()

Opciones de consumo descendente

La fuente de datos de cambios de Delta admite varias rutas de consumo posterior:

Método de consumo Description Situación
Cuadernos Spark Consulta los datos de cambios con readChangeFeed o table_changes() mediante un acceso directo a Lakehouse. Disponible ahora
Copiar trabajo Use Trabajo de copia para leer los cambios de CDF de un Fabric Lakehouse y replicarlos de forma incremental a destinos como SQL, Snowflake, Fabric Lakehouse y más. Cree un acceso directo desde la base de datos reflejada a Lakehouse y, a continuación, el trabajo de copia lee los cambios desde el Lakehouse. La compatibilidad directa de la base de datos reflejada con Copy Job está en desarrollo. Disponible ahora (a través del acceso directo de Lakehouse); soporte directo próximamente
Eventstreams (Conector de fuente de cambios de una base de datos replicada) Transmita los cambios de CDF de las bases de datos reflejadas directamente a Fabric Eventstreams para aplicaciones basadas en eventos y de baja latencia. Descubra las bases de datos con CDF habilitado en Real-Time Hub, cree un Eventstream y rediríjalo a destinos como Eventhouse o configure alertas de Activator. Versión preliminar
Canales de datos Las canalizaciones de datos no admiten de forma nativa la copia incremental desde CDF. Puede usar cuadernos dentro de canalizaciones para lograr el procesamiento incremental. Solución alternativa disponible

Precios

Nota:

La facturación de las funcionalidades extendidas se reanudó en todas las regiones a partir de la semana del 25 de mayo. 2026. La compatibilidad de la interfaz de usuario para habilitar capacidades ampliadas también se ha vuelto a habilitar, aunque también puede ampliar las capacidades mediante API.

La creación de reflejo sin funcionalidades extendidas es gratuita.

Aclaraciones clave de precios:

  • La facturación se basa en el uso. Solo se le cobra por la capacidad de cómputo incremental utilizada cuando CDF procesa cambios reales. No hay cargos por tiempo de inactividad ni ejecuciones vacías (períodos en los que no se producen cambios en los datos de origen).
  • La duplicación en espejo básica sigue siendo gratuita. Habilitar CDF no cambia el precio de la duplicación principal. La replicación continua, la conversión de Delta Lake, la integración de OneLake y los puntos de conexión de SQL Analytics siguen siendo gratuitos.
  • El almacenamiento para la creación de reflejo es gratuito. El almacenamiento de datos reflejados en OneLake no se factura por separado. Sin embargo, habilitar CDF aumenta el consumo de almacenamiento debido a archivos adicionales _change_data .
  • CDF es un complemento, no un reemplazo. La facturación de CDF es únicamente para el cómputo de capacidad extendida. No cobra con carácter retroactivo por la actividad principal de duplicación.
  • Puede controlar el costo habilitando de forma selectiva CDF. CDF está habilitado a nivel de la base de datos reflejada. Habilita CDF solo en las bases de datos reflejadas que necesiten procesamiento incremental y deja las demás en el reflejo principal.

Para obtener el modelo de precios completo, los detalles de medición y el ámbito de facturación, consulte Facturación para funcionalidades extendidas en la creación de reflejo.