Todos los productos
Search
Centro de documentos

Data Management:Orquestación de tareas

Última actualización: Sep 22, 2026

Utilice la función Task Orchestration de Data Management (DMS) para construir un flujo de tareas programado y de múltiples pasos que archive automáticamente los datos históricos. Al finalizar este tutorial, tendrá un flujo de tareas funcional que:

  • Crea una tabla de archivo mensual para los registros con más de seis meses de antigüedad.

  • Copia las filas que cumplen los criterios de la tabla de origen a la tabla de archivo.

  • Elimina las filas migradas de la tabla de origen.

  • Se ejecuta automáticamente a la 01:00 del primer día de cada mes.

Pasos de este tutorial:

  1. Create a task flow

  2. Configurar variables de tiempo

  3. Crear y configurar nodos

  4. Conectar nodos y establecer la programación

  5. Ejecutar el flujo de tareas y comprobar los resultados

Requisitos previos

Antes de empezar, asegúrese de contar con lo siguiente:

  • Una instancia de base de datos registrada en DMS. Para más detalles, consulte Register an Alibaba Cloud database instance.

  • Una instancia con estado Normal. Para comprobarlo, vaya a la página principal de la consola de DMS, pase el cursor sobre la instancia en el panel de navegación izquierdo y lea la información emergente del estado.

  • Acceso de propietario al flujo de tareas si el modo de control de la instancia es Flexible Management o Stable Change. Este requisito no aplica a las instancias en modo Security Collaboration. Para más detalles, consulte Descripción general.

Bases de datos compatibles

Task Orchestration es compatible con los siguientes tipos de bases de datos:

Bases de datos relacionales

  • MySQL: ApsaraDB RDS for MySQL, PolarDB for MySQL, ApsaraDB MyBase for MySQL, PolarDB for Xscale y bases de datos MySQL de otros orígenes.

  • SQL Server: ApsaraDB RDS for SQL Server, ApsaraDB MyBase for SQL Server y bases de datos SQL Server de otros orígenes.

  • PostgreSQL: ApsaraDB RDS for PostgreSQL, PolarDB for PostgreSQL, ApsaraDB MyBase for PostgreSQL y bases de datos PostgreSQL de otros orígenes.

  • OceanBase: ApsaraDB for OceanBase en modo MySQL, ApsaraDB for OceanBase en modo Oracle y bases de datos OceanBase autogestionadas.

  • PolarDB for PostgreSQL (Compatible with Oracle).

  • Oracle.

  • Dameng (DM).

  • Db2.

Base de datos NoSQL: Lindorm.

Almacenes de datos: AnalyticDB for MySQL, AnalyticDB for PostgreSQL, Data Lake Analytics (DLA), MaxCompute, Hologres.

Object storage: Object Storage Service (OSS).

Configurar la tabla de origen

Este tutorial utiliza una tabla de origen llamada test. Ejecute las siguientes instrucciones para crear la tabla e insertar datos de ejemplo:

-- Create the source table
CREATE TABLE test (
    `id` bigint(20) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT 'Primary key',
    `gmt_create` DATETIME NOT NULL COMMENT 'Creation time',
    `gmt_modified` DATETIME NOT NULL COMMENT 'Modification time',
    `content` TEXT COMMENT 'Test data'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Table for a task orchestration test';

-- Insert sample data
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-01-01 01:00:00', '2020-01-01 01:00:00', 'value1');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-02-01 01:00:00', '2020-02-01 01:00:00', 'value2');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-03-01 01:00:00', '2020-03-01 01:00:00', 'value3');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-04-01 01:00:00', '2020-04-01 01:00:00', 'value4');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-05-01 01:00:00', '2020-05-01 01:00:00', 'value5');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-06-01 01:00:00', '2020-06-01 01:00:00', 'value6');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-07-01 01:00:00', '2020-07-01 01:00:00', 'value7');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-08-01 01:00:00', '2020-08-01 01:00:00', 'value8');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-09-01 01:00:00', '2020-09-01 01:00:00', 'value9');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-10-01 01:00:00', '2020-10-01 01:00:00', 'value10');

Estas instrucciones se pueden ejecutar en la pestaña SQLConsole de DMS o mediante la creación de un ticket de cambio de datos. Para más detalles, consulte Manage a database on the SQLConsole tab y Normal Data Modify.

Paso 1: Crear un flujo de tareas

  1. Inicie sesión en la consola de DMS V5.0.

  2. En la barra de navegación superior, elija All Features > Data + AI > Data Development > Task Orchestration.

    Si usa el modo normal de la consola de DMS, pase el cursor sobre el ícono en la esquina superior izquierda y elija Data + AI > Data Development > Task Orchestration .
  3. Haga clic en Create Task Flow.

  4. En el cuadro de diálogo New Task Flow, introduzca un valor en Task Flow Name y otro en Description. Después, haga clic en OK.

Paso 2: Configurar variables de tiempo

El flujo de tareas utiliza dos variables de tiempo como condiciones de filtro SQL. De este modo, la ventana de archivado retrocede automáticamente seis meses respecto a la fecha actual. Todos los nodos del flujo pueden hacer referencia a estas variables mediante la sintaxis ${variable_name}.

En la pestaña Variable Configuration, ubicada en la parte inferior de la página, haga clic en Task Flow Variable en el panel izquierdo y cree las dos variables que se muestran a continuación:

Variable

Formato de hora

Desplazamiento

Descripción

Ejemplo (si hoy es 27 de junio de 2023)

yearmonth6_name

yyyy-MM

-, 6, Month

Mes correspondiente a seis meses atrás, con precisión de mes.

2022-12

yearmonth6_date

yyyy-MM-01

-, 6, Month

Primer día del mes correspondiente a seis meses atrás, con precisión de día.

2022-12-01

  • yearmonth6_name se utiliza como sufijo en el nombre de la tabla de archivo (por ejemplo, test_2022-12).

  • yearmonth6_date funciona como fecha límite en la cláusula WHERE de ambos nodos SQL.

Para conocer la sintaxis completa de las variables y sus opciones, consulte Variables.

Paso 3: Crear y configurar nodos

El flujo de tareas requiere dos nodos Single Instance SQL: uno para migrar los datos a la tabla de archivo y otro para eliminar las filas migradas de la tabla de origen.

Crear el nodo Migrate Data

Este nodo crea una tabla de archivo mensual (si aún no existe) y copia en ella todos los registros de test con más de seis meses de antigüedad.

  1. En el panel Task Type, ubicado a la izquierda del lienzo, arrastre un nodo Single Instance SQL hacia el área de trabajo.

  2. Haga clic derecho en el nodo y seleccione Rename. Introduzca Migrate Data como nombre del nodo.

  3. Haga doble clic en el nodo para abrir el editor SQL.

  4. Seleccione su base de datos en el cuadro de búsqueda e introduzca el siguiente código SQL:

    CREATE TABLE IF NOT EXISTS `test_${yearmonth6_name}` LIKE test;
    INSERT INTO `test_${yearmonth6_name}`
    SELECT * FROM `test`
    WHERE gmt_create < '${yearmonth6_date}';

    La primera instrucción crea test_${yearmonth6_name} con el mismo esquema que test y omite la creación si la tabla ya existe. La segunda instrucción copia en la tabla de archivo todas las filas cuya fecha gmt_create sea anterior al límite de seis meses.

  5. Haga clic en Preview para validar las instrucciones SQL.

Crear el nodo Clear Historical Data

Este nodo elimina de test todas las filas que se copiaron a la tabla de archivo.

  1. Arrastre otro nodo Single Instance SQL al lienzo.

  2. Haga clic derecho en el nodo y seleccione Rename. Introduzca Clear Historical Data como nombre del nodo.

  3. Haga doble clic en el nodo para abrir el editor SQL.

  4. Seleccione su base de datos en el cuadro de búsqueda e introduzca el siguiente código SQL:

    Aviso

    Ejecute la instrucción DELETE fuera del horario de mayor actividad. Eliminar grandes volúmenes de datos puede retener bloqueos de tabla durante mucho tiempo e interrumpir otras operaciones.

    DELETE FROM `test` WHERE gmt_create < '${yearmonth6_date}';

    Esta instrucción quita todas las filas que ya se copiaron a la tabla de archivo. Así, test queda libre de registros con más de seis meses de antigüedad.

  5. Haga clic en Preview para validar la instrucción SQL.

Paso 4: Conectar nodos y establecer la programación

Conectar los nodos

En el lienzo, pase el cursor sobre el nodo Migrate Data, haga clic en el círculo vacío de su lado derecho y arrastre la línea de conexión hasta el nodo Clear Historical Data. Esto define el orden de ejecución: primero se ejecuta Migrate Data y después Clear Historical Data.

Configurar la programación

  1. En la parte inferior de la página, haga clic en la pestaña Task Flow Information.

  2. En la sección Scheduling Settings, configure los parámetros que se muestran a continuación:

    Parámetro

    Valor

    Enable scheduling

    Actívelo.

    Scheduling type

    Timed Scheduling/Cyclic scheduling

    Effective time

    1970-01-01 – 9999-01-01 (valor predeterminado; la programación se ejecuta de forma indefinida).

    Scheduling cycle

    Month

    Specified time

    1st of each month

    Specific point in time

    01:00

    Time zone

    Su zona horaria preferida.

    Cron expression

    Se genera automáticamente según la configuración anterior.

    Este ejemplo programa el flujo de tareas para que se ejecute a la 01:00 del primer día de cada mes. Ajuste la configuración según sus necesidades. Para conocer más opciones, consulte Overview.

Paso 5: Ejecutar el flujo de tareas y comprobar los resultados

Ejecución de prueba

Haga clic en Try Run en la esquina superior izquierda del lienzo. Revise la salida del registro:

  • Si la última línea muestra status SUCCEEDED, la ejecución de prueba finalizó correctamente.

  • Si la última línea muestra status FAILED, la ejecución de prueba terminó con errores. Revise los registros para identificar qué nodo falló y por qué, corrija la configuración e inténtelo de nuevo.

Comprobar los resultados

En la pestaña SQLConsole, ejecute consultas para confirmar lo siguiente:

  • Los registros con un valor de gmt_create anterior al límite de seis meses se copiaron a la tabla de archivo test_${yearmonth6_name}.

  • Esos mismos registros ya no existen en la tabla test.

Para obtener más detalles sobre cómo consultar datos, consulte Manage a database on the SQLConsole tab.

Pasos siguientes

Referencias