Compartir a través de


Copia incremental de archivos nuevos y modificados según la fecha de última modificación

En este tutorial, creará una canalización de datos que copia incrementalmente solo archivos nuevos y modificados, de almacén de lago a almacén de lago. Usa Filtrar por última modificación para determinar qué archivos se van a copiar.

Después de completar los pasos que se indican aquí, Data Factory examinará todos los archivos del almacén de origen, aplicará el filtro de archivos por Filtrar por última modificación y copiará en el almacén de destino solo los archivos nuevos o que se han actualizado desde la última vez.

Requisitos previos

  • Almacén de lago. Use el almacén de lago como almacén de datos de destino. Si no lo tuviera, consulte Creación de un almacén de lago para conocer los pasos para crear uno. Cree una carpeta denominada origen y otra destino.

Configuración de una canalización de datos para copia incremental

Paso 1: crear una canalización

  1. Vaya a Power BI.

  2. Seleccione el icono de Power BI en la parte inferior izquierda de la pantalla y, después, seleccione Data Factory para abrir la página principal de Data Factory.

  3. Vaya al área de trabajo de Microsoft Fabric.

  4. Seleccione Canalización de datos y, a continuación, escriba un nombre de canalización para crear una nueva canalización.

    Captura de pantalla que muestra el nuevo botón de canalización de datos en el área de trabajo recién creada.

    Captura de pantalla que muestra el nombre de la creación de una nueva canalización.

Paso 2: Configurar una actividad de copia para la copia incremental

  1. Agregue una actividad de copia al lienzo.

  2. En la pestaña Origen, seleccione su instancia de lago de latos como conexión y seleccione Archivos como carpeta raíz. En Ruta de acceso del archivo, seleccione origen como carpeta. Especifique Binario como formato de archivo.

    Captura de pantalla que muestra la configuración del origen.

  3. En la pestaña Destino, seleccione su instancia de lago de latos como conexión y seleccione Archivos como carpeta raíz. En Ruta de acceso del archivo, seleccione destino como carpeta. Especifique Binario como formato de archivo.

    Captura de pantalla que muestra la configuración del destino.

Paso 3: Establecer el intervalo de tiempo para la copia incremental

Supongamos que desea copiar archivos nuevos o modificados incrementalmente en la carpeta de origen cada cinco minutos:

  1. Seleccione el botón Programar en el menú superior. En el panel emergente, active la ejecución de la programación, seleccione Por minuto en Repetir y establezca el intervalo en 5 minutos. A continuación, especifique la fecha y hora de inicio y la fecha y hora de finalización para confirmar el intervalo de tiempo que desea que se ejecute esta programación. Luego, selecciona Aplicar.

    Captura de pantalla que muestra el botón de programación.

    Captura de pantalla que muestra la configuración de la programación.

  2. Vaya al origen de la actividad de copia. En Filtrar por última modificación en Opciones avanzadas, especifique la hora de inicio mediante Agregar contenido dinámico. Escriba @formatDateTime(addMinutes(pipeline().TriggerTime, -5), 'yyyy-MM-dd HH:mm:ss') en el generador de expresiones de canalización abierto.

    Captura de pantalla que muestra la hora de inicio en Filtrar por última modificación.

  3. Seleccione Ejecutar. Ahora la actividad de copia puede copiar los archivos nuevos agregados o modificados en el origen cada cinco minutos siguientes a la carpeta de destino hasta la hora de finalización especificada.

  4. Al seleccionar una repetición diferente, en la tabla siguiente se muestra contenido dinámico diferente que debe especificar en Hora de inicio. Cuando elija Diaria y Semanal, solo la puede establecer una sola vez para el uso del contenido dinámico correspondiente.

    Repeat Contenido dinámico
    Por minuto @formatDateTime(addMinutes(pipeline().TriggerTime, -<your set repeat minute>), 'yyyy-MM-dd HH:mm:ss')
    Cada hora @formatDateTime(addHours(pipeline().TriggerTime, -<your set repeat hour>), 'yyyy-MM-ddTHH:mm:ss')
    Diario @formatDateTime(addDays(pipeline().TriggerTime, -1), 'yyyy-MM-ddTHH:mm:ss')
    Semanalmente @formatDateTime(addDays(pipeline().TriggerTime, -7), 'yyyy-MM-ddTHH:mm:ss')

A continuación, avance para obtener más información sobre cómo cargar datos de forma incremental desde Data Warehouse a almacén de lago.