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.
Actualización más reciente 2023-04-14 GMT+08:00

Principios básicos del Loader

Loader está desarrollado basado en el componente Sqoop de código abierto. Se utiliza para intercambiar datos y archivos entre MRS y bases de datos relacionales y sistemas de archivos. Loader puede importar datos desde bases de datos relacionales o servidores de archivos a los componentes HDFS y HBase, o exportar datos desde HDFS y HBase a bases de datos relacionales o servidores de archivos.

Un modelo de cargador consta de cliente de cargador y servidor de carga, como se muestra en Figura 1.

Figura 1 Modelo de Loader

Tabla 1 describe las funciones de cada módulo mostrado en la figura anterior.

Tabla 1 Componentes del modelo de Loader

Módulo

Descripción

Loader Client

Cliente de Loader. Proporciona dos interfaces: web UI and CLI.

Loader Server

Servidor de Loader. Procesa solicitudes de operación enviadas desde el cliente, gestiona conectores y metadatos, envía trabajos de MapReduce y supervisa el estado de los trabajos de MapReduce.

REST API

Proporciona una API de Transferencia de Estado Representacional (RESTful) (HTTP + JSON) para procesar las solicitudes de operación enviadas desde el cliente.

Job Scheduler

Programador de trabajo simple. Ejecuta periódicamente trabajos de Loader.

Transform Engine

Motor de transformación de datos. Es compatible con la combinación de campo, el corte de cadena y el reverso de cadena.

Execution Engine

Motor de ejecución de trabajos de Loader. Ejecuta trabajos de Loader de manera de MapReduce.

Submission Engine

Motor de envío de trabajos de Loader. Envía trabajos de Loader a MapReduce.

Job Manager

Gestiona trabajos de Loader, incluyidas la creación, consulta, actualización, eliminación, activación, desactivación, inicio y detención de trabajos.

Metadata Repository

Repositorio de metadatos. Almacena y gestiona datos sobre conectores de Loader, procedimientos de transformación y trabajos.

HA Manager

Gestiona el estado activo/en espera de los procesos de Loader Server. El Loader Server tiene dos nodos que se implementan en modo activo/en espera.

Loader importa o exporta trabajos en paralelo con trabajos de MapReduce. Algunos trabajos de importación o exportación pueden implicar solo las operaciones de Map, mientras que otros pueden implicar tanto las operaciones de Map como las de Reduce.

Loader implementa la tolerancia a fallas mediante MapReduce. Los trabajos se pueden reprogramar cuando se produce un error en la ejecución de un trabajo.

  • Importación a datos a HBase

    Cuando se realiza la operación de Map para trabajos de MapReduce, Loader obtiene datos de un origen de datos externo.

    Cuando se realiza una operación Reduce para un trabajo de MapReduce, Loader habilita el mismo número de tareas de Reduce según el número de Regions. Las tareas Reduce reciben datos de tareas de Map, generan HFiles por Region y almacenan los HFiles en un directorio temporal de HDFS.

    Cuando se envía un trabajo de MapReduce, Loader migra HFiles desde el directorio temporal al directorio HBase.

  • Importación de datos a HDFS

    Cuando se realiza una operación de Map para un trabajo de MapReduce, Loader obtiene datos de un origen de datos externo y los exporta a un directorio temporal (denominado export directory-ldtmp).

    Cuando se envía un trabajo de MapReduce, Loader migra los datos del directorio temporal al directorio de salida.

  • Exportación de datos a una base de datos relacional

    Cuando se realiza una operación de Map para un trabajo de MapReduce, Loader obtiene datos de HDFS o HBase e inserta los datos en una tabla temporal (Staging Table) a través de la API de conectividad DataBase de Java (JDBC).

    Cuando se envía un trabajo de MapReduce, Loader migra datos de la tabla temporal a una tabla formal.

  • Exportación de datos a un sistema de archivo

    Cuando se realiza una operación de Map para un trabajo de MapReduce, Loader obtiene datos de HDFS o HBase y escribe los datos en un directorio temporal del servidor de archivos.

    Cuando se envía un trabajo de MapReduce, Loader migra datos del directorio temporal a un directorio formal.

Para obtener más información sobre la arquitectura y los principios del cargador, consulte https://sqoop.apache.org/docs/1.99.3/index.html.