Hadoop como um motor de pré-processamento de dados

Video: Criando um cluster de processamento usando Hadoop - 2/8

Um dos primeiros casos de uso para Hadoop na empresa era como um mecanismo de transformação programática usado para dados pré-processar se dirijam para um armazém de dados. Essencialmente, neste caso, o uso aproveita a capacidade do ecossistema Hadoop para manipular e aplicar transformações para dados antes ele é carregado para um armazém de dados.

Embora o mecanismo de transformação real é nova (é Hadoop, então transformações e fluxos de dados são codificados em Pig ou MapReduce, entre outras línguas), a abordagem em si tem sido em uso por algum tempo com a Extract, Transform, Load (ETL) processos.

Pense sobre a evolução das bases de dados OLTP e ROLAP. Muitas organizações com bases de dados operacionais também implantou data warehouses. Então, como os departamentos de TI obter dados de seus bancos de dados operacionais em seus armazéns de dados? (Recordar que os dados operacionais não é tipicamente numa forma que se presta a análise).

Video: HADOOP Tutorial for Beginners - Building blocks of HDFS - PART 3

A resposta aqui é ETL, e como armazéns de dados aumentou em uso e importância, as etapas do processo tornou-se bem compreendida e as melhores práticas foram desenvolvidas. Além disso, um número de empresas de software começaram a oferecer soluções de ETL interessantes para que os departamentos de TI podem minimizar o seu próprio desenvolvimento de código personalizado.

O processo básico ETL é bastante simples: você EXtract dados a partir de um banco de dados operacional, Transform-lo no formulário que você precisa para a sua análise e ferramentas de relatórios, e então você euoad esses dados em seu data warehouse.

Video: Core Hadoop - Intro to Hadoop and MapReduce

Uma variação comum de ETL é ELT - Extract, Load e Transform. No processo de ELT, você executar transformações (em contraste com ETL) depois de o carregamento dos dados no repositório de destino. Esta abordagem é muitas vezes usado quando a transformação se beneficiar enormemente de um mecanismo de processamento de SQL muito rápido em dados estruturados. (Bancos de dados relacionais não pode sobressair em processamento de dados não estruturados, mas eles executar o processamento muito rápido de - adivinhem -?. Dados estruturados)



Se os dados que você está transformando é destinado a um armazém de dados, e muitas dessas transformações pode ser feito em SQL, você pode optar por executar as transformações no próprio armazém de dados. ELT é especialmente atraente se a maior parte do seu conjunto de habilidades encontra-se com ferramentas baseadas em SQL.

Com Hadoop agora capaz de processar consultas SQL, tanto ETL e cargas de trabalho ELT pode ser hospedado em Hadoop. A figura mostra serviços ETL adicionados à arquitectura de referência.

Se você já implantou uma zona de aterragem baseados em Hadoop, você tem quase tudo que você precisa no lugar de usar Hadoop como um mecanismo de transformação. Você já está pousando dados de seus sistemas operacionais em Hadoop usando Sqoop, que abrange a etapa de extração. Neste ponto, você vai precisar para implementar sua lógica de transformação em aplicações MapReduce ou porco. Depois que os dados se transforma, você pode carregar os dados para o data warehouse usando Sqoop.

Usando Hadoop como um motor de transformação de dados levanta possibilidades também. Se o seu data warehouse não modifica seus dados (é apenas para relatório), você pode simplesmente manter os dados que você gera com o processo de transformação. Neste modelo, os dados só flui a partir da esquerda, para a direita na figura, onde os dados são extraídos a partir de bancos de dados operacionais, transformado na zona de aterragem, e, em seguida, carregada para o armazém de dados.

Com todos os dados transformados Já na zona de aterragem, não há necessidade de copiá-lo de volta para Hadoop - a não ser, é claro, os dados são modificados no armazém.


Publicações relacionadas