Cómo extraer metadatos de Apache Hive para la migración

En este documento, se muestra cómo puedes usar la herramienta dwh-migration-dumper para extraer los metadatos necesarios antes de ejecutar una migración de datos o permisos de Apache Hive.

En este documento, se explica la extracción de metadatos de las siguientes fuentes de datos:

  • Apache Hive
  • Sistema de archivos distribuidos de Apache Hadoop (HDFS)
  • Apache Ranger
  • Cloudera Manager
  • Registros de consultas de Apache Hive

Antes de comenzar

Antes de usar la herramienta de dwh-migration-dumper, haz lo siguiente:

Instala Java

El servidor en el que planeas ejecutar la herramienta dwh-migration-dumper debe tener instalado Java 8 o una versión posterior. Si no es así, descarga Java desde la página de descargas de Java y, luego, instálalo.

Permisos necesarios

La cuenta de usuario que especifiques para conectar la herramienta dwh-migration-dumper al sistema de origen debe tener permisos para leer los metadatos de ese sistema. Confirma que esta cuenta tenga la membresía de rol adecuada para consultar los recursos de metadatos disponibles para tu plataforma. Por ejemplo, INFORMATION_SCHEMA es un recurso de metadatos común en varias plataformas.

Instala la herramienta dwh-migration-dumper

Para instalar la herramienta dwh-migration-dumper, sigue estos pasos:

  1. En la máquina en la que deseas ejecutar la herramienta dwh-migration-dumper, descarga el archivo ZIP desde el repositorio de GitHub de la herramienta dwh-migration-dumper.
  2. Para validar el archivo ZIP de la herramienta de dwh-migration-dumper, descarga el archivo SHA256SUMS.txt y ejecuta el siguiente comando:

    Bash

    sha256sum --check SHA256SUMS.txt

    Si la verificación falla, consulta Solución de problemas.

    WindowsPowerShell

    (Get-FileHash RELEASE_ZIP_FILENAME).Hash -eq ((Get-Content SHA256SUMS.txt) -Split " ")[0]

    Reemplaza RELEASE_ZIP_FILENAME por el nombre del archivo ZIP descargado de la versión de la herramienta de extracción de línea de comandos de dwh-migration-dumper, por ejemplo, dwh-migration-tools-v1.0.52.zip.

    El resultado True confirma la verificación correcta de la suma de verificación.

    El resultado False indica un error de verificación. Asegúrate de que los archivos de suma de comprobación y ZIP se descarguen de la misma versión de actualización y se coloquen en el mismo directorio.

  3. Extrae el archivo ZIP. El objeto binario de la herramienta de extracción está en el subdirectorio /bin de la carpeta creada mediante la extracción del archivo ZIP.

  4. Actualiza la variable de entorno PATH para incluir la ruta de instalación para la herramienta de extracción.

Extracción de metadatos para la migración

Selecciona una de las siguientes opciones para obtener información sobre cómo extraer metadatos de tu fuente de datos:

Apache Hive

Sigue los pasos de la sección de Apache Hive Extrae metadatos y registros de consultas de tu almacén de datos para extraer tus metadatos de Apache Hive. Luego, puedes subir los metadatos a tu bucket de Cloud Storage que contiene los archivos de migración.

HDFS

Ejecuta el siguiente comando para extraer metadatos de HDFS con la herramienta de dwh-migration-dumper.

dwh-migration-dumper \
  --connector hdfs \
  --host HDFS-HOST \
  --port HDFS-PORT \
  --output gs://MIGRATION-BUCKET/hdfs-dumper-output.zip \
  --assessment \

Reemplaza lo siguiente:

  • HDFS-HOST: Es el nombre de host de HDFS NameNode.
  • HDFS-PORT: Es el número de puerto de HDFS NameNode. Puedes omitir este argumento si usas el puerto 8020 predeterminado.
  • MIGRATION-BUCKET: Es el bucket de Cloud Storage que usas para almacenar los archivos de migración.

Este comando extrae metadatos de HDFS a un archivo llamado hdfs-dumper-output.zip en el directorio MIGRATION-BUCKET.

Existen varias limitaciones conocidas cuando se extraen metadatos de HDFS:

  • Algunas tareas de este conector son opcionales y pueden fallar, lo que genera un registro de seguimiento de pila completo en el resultado. Siempre y cuando las tareas requeridas se hayan completado correctamente y se haya generado el hdfs-dumper-output.zip, puedes continuar con la migración de HDFS.
  • El proceso de extracción podría fallar o ejecutarse más lento de lo esperado si el tamaño del grupo de subprocesos configurado es demasiado grande. Si tienes estos problemas, te recomendamos que disminuyas el tamaño del grupo de subprocesos con el argumento de línea de comandos --thread-pool-size.

Apache Ranger

Ejecuta el siguiente comando para extraer metadatos de Apache Ranger con la herramienta dwh-migration-dumper.

dwh-migration-dumper \
  --connector ranger \
  --host RANGER-HOST \
  --port 6080 \
  --user RANGER-USER \
  --password RANGER-PASSWORD \
  --ranger-scheme RANGER-SCHEME \
  --output gs://MIGRATION-BUCKET/ranger-dumper-output.zip \
  --assessment \

Reemplaza lo siguiente:

  • RANGER-HOST: Es el nombre de host de la instancia de Apache Ranger.
  • RANGER-USER: Es el nombre de usuario del usuario de Apache Ranger.
  • RANGER-PASSWORD: La contraseña del usuario de Apache Ranger
  • RANGER-SCHEME: Especifica si Apache Ranger usa http o https. El valor predeterminado es http.
  • MIGRATION-BUCKET: Es el bucket de Cloud Storage que usas para almacenar los archivos de migración.

También puedes incluir las siguientes marcas opcionales:

  • --kerberos-auth-for-hadoop: Reemplaza a --user y --password si Apache Ranger está protegido por Kerberos en lugar de la autenticación básica. Debes ejecutar el comando kinit antes de la herramienta dwh-migration-dumper para usar esta marca.
  • --ranger-disable-tls-validation: Incluye esta marca si el certificado https que usa la API está autofirmado. Por ejemplo, cuando se usa Cloudera.

Este comando extrae metadatos de Apache Ranger a un archivo llamado ranger-dumper-output.zip en el directorio MIGRATION-BUCKET.

Cloudera

Ejecuta el siguiente comando para extraer metadatos de Cloudera con la herramienta de dwh-migration-dumper.

dwh-migration-dumper \
  --connector cloudera-manager \
  --url CLOUDERA-URL \
  --user CLOUDERA-USER \
  --password CLOUDERA-PASSWORD \
  --output gs://MIGRATION-BUCKET/cloudera-dumper-output.zip \
  --yarn-application-types APPLICATION-TYPES \
  --pagination-page-size PAGE-SIZE \
  --assessment \

Reemplaza lo siguiente:

  • CLOUDERA-URL: Es la URL de Cloudera Manager.
  • CLOUDERA-USER: Es el nombre de usuario del usuario de Cloudera.
  • CLOUDERA-PASSWORD: La contraseña del usuario de Cloudera
  • MIGRATION-BUCKET: Es el bucket de Cloud Storage que usas para almacenar los archivos de migración.
  • APPLICATION-TYPES: (Opcional) Es una lista de todos los tipos de aplicaciones existentes de Hadoop YARN. Por ejemplo, SPARK, MAPREDUCE
  • PAGE-SIZE: (Opcional) Especifica la cantidad de datos que se recuperan de los servicios de terceros, como la API de Hadoop YARN. El valor predeterminado es 1000, que representa 1,000 entidades por solicitud.

Este comando extrae metadatos de Cloudera a un archivo llamado dwh-migration-cloudera.zip en el directorio MIGRATION-BUCKET.

Registros de consultas de Apache Hive

Sigue los pasos de la sección de Apache Hive Extrae registros de consultas con el hook de registro hadoop-migration-assessment para extraer tus registros de consultas de Apache Hive. Luego, puedes subir los registros a tu bucket de Cloud Storage que contiene los archivos de migración.

¿Qué sigue?

Con los metadatos extraídos de Hadoop, puedes usar estos archivos de metadatos para hacer lo siguiente: