Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ Data Warehouse Service/ Prácticas recomendadas / Migración de datos/ Uso de Kettle para migrar tablas pequeñas de AWS Redshift a un clúster de DWS
Actualización más reciente 2026-09-29 GMT+08:00

Uso de Kettle para migrar tablas pequeñas de AWS Redshift a un clúster de DWS

Esta práctica demuestra cómo usar la herramienta de código abierto Kettle para migrar datos de Redshift a DWS.

Descripción de Kettle

Kettle es una herramienta de extracción, transformación y carga (ETL) de código abierto, también conocida como Entorno de extracción, transporte, transformación y carga de KDE. Proporciona una interfaz gráfica de usuario que permite diseñar y configurar procesos ETL arrastrando y soltando componentes. Kettle admite múltiples orígenes y destinos de datos, incluidos bases de datos relacionales, archivos, API y Hadoop. Ofrece amplias capacidades de conversión y limpieza, como transformación de formatos de datos, filtrado, fusión y computación.

Las funciones clave incluyen las siguientes:

  • Construcción de canalizaciones de datos mediante operaciones de arrastrar y soltar, sin necesidad de codificación
  • Conexión a múltiples orígenes de datos
  • Visualización de canalizaciones de datos ·
  • Desarrollo de canalizaciones mediante plantillas
  • Visualización de tareas programadas
  • Soporte integral de Hadoop
  • DWS debe vincular una EIP antes de poder conectarse a Kettle.
  • Tanto Kettle como CDM son adecuados para el procesamiento por lotes. Para volúmenes de datos o cantidades de tablas más pequeños, se recomienda Kettle; de lo contrario, utilice CDM.
  • Kettle puede exportar datos desde e importar datos en bases de datos.
  • Kettle puede sincronizar datos en tiempo real mediante activadores, campos de marca de tiempo y Kafka.

Esta práctica dura unos 90 minutos. Por ejemplo, la migración de Redshift implica las siguientes operaciones:

  1. Requisitos previos: Preparar la herramienta de migración Kettle y los paquetes de suites relacionados.
  2. Migración de metadatos: Utilizar la herramienta DSC para migrar metadatos.
  3. Creación de una tarea de transformación y configuración de bases de datos de origen y destino: Crear una tarea de transformación y configurar las bases de datos de origen y destino.
  4. Migración de datos de servicio: Realizar la migración completa y la migración incremental.
  5. Ejecución de tareas de migración de forma simultánea: Crear un trabajo para ejecutar simultáneamente tareas de transformación para la migración simultánea de tablas.
  6. Optimización del trabajo de migración: Ajustar el tamaño de la memoria de Kettle y el número de trabajos para mejorar la eficiencia de la migración.
  7. Verificación de datos de tablas: Verifique la consistencia de los datos después de la migración.

Requisitos previos

  • Ha comprado un clúster de DWS, vinculado una EIP al clúster y creado la base de datos de destino dws_vd.
  • Ha obtenido el paquete de herramientas DSC y descargado e instalado DSC.
  • Ha obtenido el paquete de herramientas DataCheck y descargado e instalado DataCheck.
  • Ha obtenido el paquete de herramientas Kettle y el complemento dws-client y ha configurado Kettle. Para obtener más información, consulte "Preparación del entorno de Kettle" e "Instalación del complemento personalizado dws-kettle-plugin" en Uso de Kettle para importar datos.
  • Se ha instalado JDK 11 o una versión posterior y se han configurado las variables de entorno relacionadas.

Migración de metadatos

Utilice la herramienta de migración DSC desarrollada por Huawei Cloud para convertir las sentencias DDL de la tabla de ejemplo exportada del extremo de origen en Redshift en sentencias SQL ejecutables en DWS.

  1. Descomprima el paquete de herramientas DSC obtenido y guarde los archivos que se convertirán en el directorio de entrada de DSC.

    El diseño de la estructura de la tabla de Redshift no incluye índices. El rendimiento se ve influenciado principalmente por la clave de distribución de datos (DISTSTYLE) y la clave de ordenación (SORTKEY) especificadas en el DDL.

    Figura 1 Sentencia DDL

  2. Personalice el archivo features-pg.properties.
  3. Vaya al directorio DSC y ejecute el script runDSC. En Windows, haga doble clic en runDSC.bat. Ejecute runDSC.sh en Linux.
  4. Convierta la sintaxis.

    1
    runDSC.bat -S postgres
    

  5. Vea el resultado y la información de conversión.
  6. Conéctese a DWS, ejecute la sentencia DDL convertida en el paso anterior para crear una tabla.

    Para obtener más información sobre DSC, consulte Guía de herramientas de DSC.

Creación de una tarea de transformación y configuración de bases de datos de origen y destino

  1. Después de desplegar Kettle, haga doble clic en el script Spoon en el directorio data-integration de Kettle para iniciar Kettle.

    Figura 2 Inicio de Kettle

    Aparecerá en la pantalla la página siguiente.

    Figura 3 GUI de Kettle

  2. Elija File > New > Transformation para crear una nueva transformación.

    Figura 4 Creación de una tarea de transformación

  3. Haga clic en Database connection en View, haga clic con el botón derecho del mouse en New y configure las conexiones de las bases de datos de origen y destino.

    • La configuración de la conexión de la base de datos redshift-VD (origen) es la siguiente:
      • URL de conexión personalizada: jdbc: redshift://dwdsi-simulacao.cslagxelrdnm.us-east-1.redshift.amazonaws.com:xxxx/dsidw
      • Username: xxxxxxx
      • Password: xxxxxxx
      Figura 5 Configuración del origen
    • La configuración de la conexión de la base de datos DWS-VD (destino) es la siguiente:
      • Host Name: EIP del clúster de DWS.
      • Database Name: dws_vd
      • Username: dbadmin
      • Password: contraseña del usuario dbadmin.
      Figura 6 Configuración del destino
      Figura 7 opciones

      Después de conectar las bases de datos, haga clic con el botón derecho del mouse en los enlaces de origen y destino y haga clic en Share. Esto evita la necesidad de volver a configurar los enlaces de la base de datos en tareas futuras.

  4. Arrastre los componentes Table input y DWS TableOutput desde los directorios Input y Output de Design al panel derecho por separado.
  5. Haga clic con el botón derecho del mouse en la línea de conexión del componente Table input para conectar los dos componentes.

    Figura 8 Conexión de componentes

Migración de datos de servicio

Migración de datos completa

  1. Haga clic con el botón derecho del mouse en Table Input y seleccione Edit en el menú contextual. Seleccione el enlace de la base de datos de origen.

    Figura 9 Edición de Table Input

  2. Haga clic con el botón derecho del mouse en DWS TableOutput y seleccione Edit en el menú contextual. Seleccione el enlace de la base de datos de destino. Seleccione Truncate table y Specify database fields, haga clic en Get fields debajo de Database fields para adquirir el mapeo de campos de origen y destino y, a continuación, haga clic en OK.

    Figura 10 Edición de Table output
    Figura 11 Edición de campos de base de datos

  3. Después de la configuración, haga clic en Run para iniciar la tarea de migración.

    Figura 12 Ejecución de la tarea

Migración de datos incremental

Los pasos para la migración incremental y completa son esencialmente los mismos. La diferencia es que se agrega una condición WHERE a la sentencia SQL de origen y se deselecciona Truncate Table en la configuración de destino.

  1. Haga clic con el botón derecho del mouse en Table Input y seleccione Edit en el menú contextual. Seleccione el enlace de la base de datos de origen.

    Figura 13 Edición de Table Input

  2. Haga clic con el botón derecho del mouse en DWS TableOutput y seleccione Edit en el menú contextual. Seleccione el enlace de la base de datos de destino. Deseleccione Truncate table; haga clic en Get fields en Database fields para obtener el mapeo de campos de origen y destino y haga clic en OK.

    Figura 14 Edición de Table output

  3. Después de la configuración, haga clic en Run para iniciar la tarea de migración.

    Figura 15 Ejecución de la tarea

Ejecución de tareas de migración de forma simultánea

La configuración de tareas de trabajo combina la transformación de múltiples tablas en una sola tarea para una ejecución más rápida.

  1. Seleccione File > New > Job. Arrastre los componentes de destino al panel y conéctelos mediante líneas.

    Figura 16 Creación de un trabajo

  2. Haga doble clic en Transformation y seleccione la tarea de transformación que se ha configurado y guardado.

    Figura 17 Configuración de una transformación

  3. Haga clic con el botón derecho en el componente Start, seleccione el componente Run Next Entries in Parallel y configure la ejecución de tareas simultáneas.

    Figura 18 Configuración de simultaneidad

    Después de la configuración, aparecerá una doble barra entre los componentes Start y Transformation.

    Figura 19 Configuración de simultaneidad exitosa

  4. Haga clic en Run para ejecutar las tareas de conversión de forma simultánea.

    Figura 20 Ejecución de las tareas de conversión de forma simultánea

Optimización del trabajo de migración

  1. Configure la memoria de Kettle.

    Para aumentar el número de solicitudes de Kettle simultáneas y el tamaño de los datos almacenados en caché, puede ajustar el tamaño de la memoria de Kettle.

    Utilice Notepad++ para abrir el script Spoon.bat y editar el contenido de la memoria. Se recomienda configurarlo en un 60-80 % de la memoria del host.

    Figura 21 Configuración de la memoria

  2. Configure un trabajo.

    • Para tablas con menos de 10 millones de registros, configure alrededor de 10 tablas por trabajo.
    • Para tablas más grandes con alrededor de 100 millones de registros, configure de 2 a 3 tablas por trabajo. Esto permite la programación de tareas individuales si surge algún problema, lo que mejora la eficiencia.
    • Para tablas con más de 100 millones de registros, especialmente aquellas con muchos campos, la eficiencia de extracción de Kettle puede ser lenta. Elija un método de migración en función de sus necesidades de servicio específicas.
      Figura 22 Configuración de un trabajo
    • Agrupe las tareas con volúmenes de datos de tablas similares en el mismo trabajo. Esto garantiza que todas las tareas finalicen aproximadamente al mismo tiempo, evitando que las tareas finales retrasen los trabajos posteriores.
    • Si se produce un error en una tarea, consulte los registros de errores. Los problemas suelen deberse a restricciones de enlaces de origen que causan desconexiones. En tales casos, reinicie Kettle y vuelva a intentarlo.

Verificación de datos de tablas

Después de la migración, verifique si los datos de las bases de datos de origen y destino son consistentes mediante DataCheck.

  1. Cree un ECS (con Linux o Windows) y vincule una EIP al ECS para acceder a BigQuery.
  2. Cargue el paquete de software en el directorio especificado (definido por el usuario) en el ECS, descomprima el paquete DataCheck-*.zip y vaya al directorio DataCheck-*. Para ver cómo usar los archivos del directorio, consulte Tabla 1.
  3. Configure el paquete de herramientas.

    • En Windows:
      Abra el archivo dbinfo.properties en la carpeta DataCheck/conf y configúrelo según sea necesario.

      Puede utilizar el comando siguiente en la herramienta para generar el texto cifrado de src.passwd y dws.passwd.

      encryption.bat password

      Después de ejecutar el comando, se genera un archivo cifrado en el directorio local bin.

    • En Linux:

      El método de generación del texto cifrado es similar al de Windows. El comando es sh encryption.sh Password. Los demás pasos son los mismos.

  4. Verifique los datos.

    En Windows:

    1. Abra el archivo check_input.xlsx, ingrese los esquemas, las bases de datos, la tabla de origen y la tabla de destino que se van a verificar, y complete Row Range con una sentencia de consulta de datos para especificar el alcance de la consulta.
      • Después de configurar el nombre de la base de datos de origen en el archivo de configuración, el nombre de la base de datos de origen en el archivo check_input.xlsx es este por defecto. Sin embargo, si se especifica un nombre de base de datos de origen diferente en el archivo check_input.xlsx, tendrá prioridad.
      • El Check Strategy ofrece tres niveles: high, middle y low. Si no se especifica, el valor predeterminado es low.
      • El Check Mode admite statistics (verificaciones de valores estadísticos).

      La siguiente figura muestra el archivo check_input.xlsx para la comparación de metadatos.

      Figura 23 check_input.xlsx
    2. Ejecute el comando datacheck.bat en el directorio bin para ejecutar la herramienta de verificación.

    3. Vea el archivo de resultados de la verificación generado check_input_result.xlsx.

      La siguiente figura muestra la verificación de valores estadísticos.

    En Linux:

    1. Edite y cargue el archivo check_input.xlsx. Consulte el paso 1 para Windows.
    2. Ejecute el comando sh datacheck.sh para ejecutar la herramienta de verificación.

    3. Vea el resultado de la verificación en el archivo check_input_result.xlsx. (El análisis del resultado de la verificación es el mismo que para Windows).

Información relacionada

Para obtener más información, consulte DataCheck.

Tabla 1 Descripción del directorio DataCheck

Archivo o carpeta

Descripción

DataCheck

bin

Guarda el script de entrada de la herramienta de verificación.

  • Versión de Windows: datacheck.bat
  • Versión de Linux: datacheck.sh

conf

Archivo de configuración, que se utiliza para configurar la conexión entre la base de datos de origen y la base de datos de destino y establecer la impresión de registros.

lib

Directorio para almacenar los paquetes JAR necesarios para ejecutar la herramienta de verificación.

check_input.xlsx

  • Información sobre la tabla que se va a verificar, incluidos los nombres de esquema, tabla y columna.
  • Información sobre el nivel de verificación y reglas de verificación de los usuarios. Se admiten tres niveles de verificación: high, middle y low. El valor predeterminado es low.

logs

El paquete no incluye este archivo. Una vez que se ejecuta la herramienta de verificación, genera automáticamente este archivo para registrar el proceso de ejecución de la herramienta.

check_input_result.xlsx

El paquete no incluye este archivo. Una vez que se ejecuta la herramienta de verificación, se creará un archivo de resultados de verificación en la misma ubicación que check_input.xlsx.

Tabla 2 Funciones básicas de la herramienta de verificación de datos

DataCheck

  • Verificar los datos en las bases de datos DWS, MySQL y PostgreSQL.
  • Verificar los campos comunes, como los tipos numéricos, de tiempo y de caracteres.
  • Admitir tres niveles de verificación, incluidos high, middle, y low.
  • Verificar los esquemas, los nombres de las tablas y los nombres de las columnas.
  • Especificar el alcance de comprobación de los registros. Por defecto, se verifican todos los registros.
  • Admitir varios métodos de verificación, incluidos count(*), max, min, sum, avg y la verificación de detalles de muestreo.
  • Generar el resultado de la verificación y los detalles de la verificación relacionados.
Tabla 3 Niveles de verificación de datos

Nivel de verificación

Descripción

Sintaxis

Bajo

  • Verificación de cantidad
  • Cantidad de registros: COUNT(*)

Medio

  • Verificación de cantidad
  • Verificación de tipo numérico
  • Cantidad de registros: COUNT(*)
  • Verificación de valor: MAX, MIN, SUM y AVG

Alto

  • Verificación de cantidad
  • Verificación de tipo numérico
  • Verificación de tipo de fecha
  • Verificación de tipo de carácter
  • Cantidad de registros: COUNT(*)
  • Verificación de valor: MAX, MIN, SUM y AVG
  • Verificación de fecha: MAX y MIN
  • Verificación de caracteres: order by limit 1000, que lee los datos y verifica si el contenido es el mismo