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 CDM para migrar datos de Hologres a un clúster de DWS
Actualización más reciente 2026-09-29 GMT+08:00

Uso de CDM para migrar datos de Hologres a un clúster de DWS

Esta práctica demuestra cómo usar Cloud Data Migration (CDM) para migrar datos de Hologres a DWS.

CDM es un servicio eficiente y fácil de usar para la migración de datos por lotes. Para obtener más información, consulte Cloud Data Migration.

Esta práctica toma alrededor de 90 minutos y utiliza servicios en la nube como Virtual Private Cloud (VPC) and Subnet, Elastic IP (EIP), Cloud Data Migration (CDM) y DWS. El proceso básico es el siguiente:

  1. Requisitos previos
  2. Paso 1: Migración de metadatos
  1. Paso 2: Migración de datos de tablas
  2. Paso 3: Verificación de datos de tabla
Figura 1 Migración de Hologres

Notas y restricciones

  • Si hay muchas tablas para migrar, se recomienda realizar la migración por lotes. Puede crear lotes por servicio o por volumen de datos de tabla.
  • Si se producen operaciones DELETE o UPDATE durante la migración de CDM, no se puede garantizar la consistencia de los datos después. En tales casos, se requerirá una remigración.
  • Para datos de tablas grandes, migre los datos en fragmentos.
  • Un único trabajo de migración de bases de datos puede migrar solo una base de datos a la vez. Para migrar varias bases de datos, debe configurar varios trabajos de migración.

Requisitos previos

  • Ha comprado clústeres de DWS y CDM. Para obtener más información, consulte Guía del usuario de CDM.
  • El clúster de Hologres y el clúster de DWS pueden comunicarse con CDM. En este ejemplo, DWS y CDM se crean en la misma región, nube privada y subred.
  • Tiene el permiso de migración.
  • Se han instalado los clientes de origen y destino.
  • Se han preparado las herramientas de migración enumeradas en Tabla 1: DSC y DataCheck.
  • El entorno de tiempo de ejecución de DataCheck cumple con los siguientes requerimientos:
    • El servidor es compatible con sistemas operativos de 64 bits y puede ejecutarse en Linux o Windows.
    • Se ha instalado JDK o JRE 1.8 en el sistema.
    • El servidor donde se instala y ejecuta DataCheck puede comunicarse con la base de datos que se va a conectar.
Tabla 1 Herramientas para la migración de Hologres

Herramientas

Descripción

Cómo obtenerla

DSC

Herramienta de migración de sintaxis para DWS

Obtenga el enlace de descarga.

DataCheck

Herramienta de verificación de datos

Póngase en contacto con el soporte técnico.

Paso 1: Migración de metadatos

  1. Consulte los roles y permisos de usuario en Hologres:

    1
    2
    SELECT ROLNAME FROM pg_roles;
    SELECT user_display_name(ROLNAME) FROM pg_roles;
    

  2. En DWS, la separación de permisos está deshabilitada por defecto después de la creación del clúster. Los administradores del sistema de bases de datos tienen los mismos permisos que los propietarios de los objetos. Por defecto, solo el propietario del objeto o el administrador del sistema pueden consultar, modificar o destruir el objeto. En función de los roles y permisos consultados en Hologres, cree los roles y permisos correspondientes en DWS y otorgue los permisos de usuario en consecuencia:

    • Utilice sentencias GRANT para otorgar permisos de objeto al usuario de destino.
      1
      2
      GRANT USAGE ON SCHEMA schema TO user;
      GRANT SELECT ON TABLE schema.table To user;
      
    • Habilite al usuario para que herede los permisos de objeto del rol.
      1
      2
      CREATE ROLE role_name WITH CREATEDB PASSWORD '*******';
      GRANT role_name to user;
      

  3. Exporte la sintaxis de origen. La exportación de la sintaxis de origen, que representa la lógica de implementación de los servicios del cliente, desde Hologres y su modificación para que sea compatible con DWS puede reducir la carga de trabajo de modelado y mejorar la eficiencia de la migración de servicios.

    Exporte toda la sintaxis:

    1
    SELECT hg_dump_script('schema_name.table_name');
    
    • Dado que la sintaxis de origen implica la identificación del alcance del servicio, las operaciones requieren un DBA familiarizado con el servicio. Se recomienda que la sintaxis de origen sea proporcionada por el DBA del cliente.
    • Para exportar datos por lotes, puede utilizar UNION ALL para asociar todas las tablas que se van a consultar. El formato de sintaxis es el siguiente:
      1
      2
      3
      4
      SELECT hg_dump_script('schema_name.table_name')
      UNION ALL
      SELECT hg_dump_script('schema_name.table_name')
      ...
      
    • Si la ejecución falla, utilice el comando siguiente para crear una extensión en la base de datos y, a continuación, ejecute las sentencias SQL anteriores.
      1
      CREATE EXTENSION hg_toolkit;
      

  4. Conéctese a DWS y ejecute la sentencia SQL siguiente para crear una base de datos. Se recomienda utilizar el modo compatible con MySQL para crear la base de datos.

    1
    CREATE DATABASE tldg WITH ENCODING 'UTF-8' TEMPLATE template0 DBCOMPATIBILITY 'MYSQL';
    

  5. Utilice la herramienta DSC para convertir la sintaxis DDL.

    1. Descomprima el paquete de la herramienta DSC obtenido en Requisitos previos.
    2. Guarde los archivos de sintaxis DDL que se convertirán en la carpeta input de DSC.
      Figura 2 Directorio input
    3. Abra la herramienta de línea de comandos y haga doble clic en runDSC.bat en Windows. Ejecute runDSC.sh en Linux.
    4. Convierta la sintaxis:
      1
      runDSC.bat -S Hologres
      
      Figura 3 Conversión de sintaxis DDL
    5. Vea el resultado de la conversión en la carpeta output.
      Figura 4 Resultado de la conversión DDL
    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.

Paso 2: Migración de datos de tablas

CDM admite migraciones tanto a nivel de tabla como a nivel de base de datos.

  1. Configure el enlace de origen para CDM. Dado que la sintaxis de creación de tablas de Hologres es compatible con PostgreSQL, simplemente puede elegir las fuentes de datos de PostgreSQL al configurar el enlace de CDM.

    1. Inicie sesión en la consola de CDM. En el panel de navegación, haga clic en Cluster Management.
    2. Si CDM está conectado a Hologres a través de la red pública, vincule una EIP. Para obtener más información, consulte Vinculación o desvinculación de una EIP.
    3. Haga clic en Job Management junto al nombre del clúster.
      Figura 5 Página de gestión de clústeres de CDM

    4. Antes de establecer un enlace de trabajo por primera vez, instale el controlador. Elija Links > Driver Management e instale el controlador de PostgreSQL.
    5. Después de instalar el controlador, haga clic en Create Link en la página de gestión de enlaces, seleccione PostgreSQL y, a continuación, haga clic en Next.
    6. Ingrese la información de la base de datos de Hologres.
      Figura 6 Información de conexión de Hologres

    7. Haga clic en Test para comprobar la conectividad y, a continuación, haga clic en Save.

  2. Configure el enlace de destino para CDM.

    1. De manera similar, elija Job Management > Links y haga clic en Create Link.
    2. Seleccione Data Warehouse Service y haga clic en Next.
    3. Ingrese la información de la base de datos de DWS.
      Figura 7 Información de conexión de DWS

    4. Haga clic en Test para comprobar la conectividad y, a continuación, haga clic en Save.

  3. Configure y comience un trabajo de migración a nivel de tabla.

    1. Haga clic en la pestaña Table/File Migration. Esta pestaña muestra los trabajos de migración de una sola tabla.
    2. Ingrese la información de origen y destino.
    3. Haga clic en Next para mapear campos.
      Figura 8 Mapeo de campos para la migración a nivel de tabla

    4. Confirme la información y haga clic en Next.
    5. En la página de configuración de la tarea, configure Concurrent Extractors (datos extraídos simultáneamente). El valor predeterminado es 1, pero puede aumentarlo. Sin embargo, se recomienda mantenerlo en 4 o menos. A continuación, haga clic en Save and Run.
      Una vez iniciado el trabajo de migración, puede ver el estado en la lista de trabajos.
      Figura 9 Estado del trabajo

  4. Configure e inicie un trabajo de migración a nivel de base de datos.

    1. Haga clic en la pestaña Entire DB Migration y haga clic en Create Job.
    2. Ingrese la información de origen a la izquierda y la información de destino a la derecha. Haga clic en Next.
    3. Seleccione todas las tablas o las tablas que desea migrar, haga clic en la flecha derecha en el medio para moverlas al panel derecho y, a continuación, haga clic en Next.
    4. Configure los parámetros del trabajo.
      • Concurrent Subjobs: Indica la cantidad de tablas que se migrarán simultáneamente. El valor predeterminado es 10; se recomienda configurarlo en un valor inferior a 5.
      • Concurrent Extractors: Indica los datos extraídos simultáneamente. El valor predeterminado es 1, pero puede aumentarlo. Sin embargo, se recomienda mantenerlo en 4 o menos.

      Confirme la información y haga clic en Save and Run.

    5. Espere hasta que se complete el trabajo de migración. Haga clic en el nombre del trabajo para ver el estado de migración de cada tabla.

Paso 3: Verificación de datos de tabla

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

  1. Descargue y descomprima DataCheck-*.zip y, a continuación, vaya al directorio DataCheck-* para utilizarlo. Para obtener más información sobre cómo utilizar los archivos del directorio, consulte Tabla 2.
  2. Configure el paquete de herramientas.

    • En Windows:
      Abra el archivo dbinfo.properties en la carpeta conf y configúrelo según sus necesidades reales. La siguiente figura muestra la configuración del origen Holo.
      Figura 10 Configuración de DataCheck

      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.

  3. Verifique los datos.

    En Windows:

    1. Abra el archivo check.input, 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 es este por defecto. Sin embargo, si se especifica un nombre de base de datos de origen diferente en el archivo check.input, este 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 para la comparación de metadatos.

      Figura 11 check_input
    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

Tabla 2 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

Almacena 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 3 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 4 Niveles de verificación de datos

Nivel de verificación

Descripción

Sintaxis

Low

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

Middle

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

High

  • 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