Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2023-05-19 GMT+08:00

Princípios básicos do Loader

Loader é desenvolvido com base no componente de Sqoop de código aberto. Ele é usado para trocar dados e arquivos entre o MRS e bancos de dados relacionais e sistemas de arquivos. O Loader pode importar dados de bancos de dados relacionais ou servidores de arquivos para os componentes HDFS e HBase, ou exportar dados de HDFS e HBase para bancos de dados relacionais ou servidores de arquivos.

Um modelo de Loader consiste em Loader Client e Loader Server, como mostrado na Figura 1.

Figura 1 Modelo do Loader

Tabela 1 descreve as funções de cada módulo mostrado na figura anterior.

Tabela 1 Componentes do modelo Loader

Módulo

Descrição

Loader Client

Cliente do Loader. Ele fornece duas interfaces: IU da Web e CLI.

Loader Server

Servidor do Loader. Processa solicitações de operação enviadas do cliente, gerencia conectores e metadados, envia jobs do MapReduce e monitora o status do job do MapReduce.

REST API

Ele fornece uma APIs Representational State Transfer (RESTful) (HTTP + JSON) para processar as solicitações de operação enviadas pelo cliente.

Job Scheduler

Agendador de jobs simples. Ele executa periodicamente jobs do Loader.

Transform Engine

Motor de transformação de dados. Ele suporta combinação de campo, corte de cordas e reversão de cordas.

Execution Engine

Motor de execução de job do Loader. Ele executa jobs do Loader de maneira MapReduce.

Submission Engine

Motor de envio de jobs do Loader. Ele envia jobs do Loader para MapReduce.

Job Manager

Ele gerencia jobs do Loader, incluindo criação, consulta, atualização, exclusão, ativação, desativação, início e interrupção de jobs.

Metadata Repository

Repositório de metadados. Ele armazena e gerencia dados sobre conectores do Loader, procedimentos de transformação e jobs.

HA Manager

Ele gerencia o status ativo/em espera dos processos do Loader Server. O Loader Server tem dois nós que são implementados no modo ativo/em espera.

O carregador importa ou exporta jobs em paralelo usando jobs do MapReduce. Alguns jobs de importação ou exportação podem envolver apenas as operações de Map, enquanto outras podem envolver as operações de Map e Reduce.

Loader implementa tolerância a falhas usando MapReduce. Jobs podem ser reprogramados em caso de falha na execução de trabalhos.

  • Importar dados para o HBase

    Quando a operação Mapa é executada para jobs do MapReduce, o Loader obtém dados de uma fonte de dados externa.

    Quando uma operação de Redução é executada para um job do MapReduce, o Loader ativa o mesmo número de tarefas de Redução com base no número de Regions. As tarefas Reduce recebem dados das tarefas Map, geram HFiles por Region e armazenam os HFiles em um diretório temporário do HDFS.

    Quando um job do MapReduce é enviado, o Loader migra HFiles do diretório temporário para o HBase.

  • Importar dados para HDFS

    Quando uma operação de Mapa é executada para um job do MapReduce, o Loader obtém dados de uma fonte de dados externa e exporta os dados para um diretório temporário (denominado export directory-ldtmp).

    Quando um job do MapReduce é enviado, o Loader migra os dados do diretório temporário para o de saída.

  • Exportar dados para um banco de dados relacional

    Quando uma operação Map é executada para um job do MapReduce, o Loader obtém dados do HDFS ou HBase e insere os dados em uma tabela temporária (Tabela de preparo) através da API de Conectividade de banco de dados Java (JDBC).

    Quando um job do MapReduce é enviado, o Loader migra os dados da tabela temporária para uma tabela formal.

  • Exportar dados para um sistema de arquivos

    Quando uma operação Map é executada para um job do MapReduce, o Loader obtém dados do HDFS ou HBase e grava os dados em um diretório temporário do servidor de arquivos.

    Quando um job do MapReduce é enviado, o Loader migra os dados do diretório temporário para um diretório formal.

Para obter detalhes sobre a arquitetura e os princípios do Loader, consulte https://sqoop.apache.org/docs/1.99.3/index.html.