Hadoop como um pré-processamento Data Engine

Um dos primeiros casos de uso para Hadoop na empresa foi como um mecanismo de transformação programática utilizada para os dados pré-processar com destino a um armazém de dados. Essencialmente, este caso de uso aproveita o poder do ecossistema Hadoop para manipular e aplicar transformações aos dados antes ele é carregado em um data warehouse.

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 o 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? (Lembre-se que os dados operacionais não é tipicamente de uma forma que se presta a análise).

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ê Edados Xtract de um banco de dados operacional, Transform-lo no formulário que você precisa para a sua análise e ferramentas de informação, e então você euoad esses dados em seu data warehouse.

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 carregar os dados para o 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 para 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 os serviços de ETL adicionados à arquitetura de referência.

image0.jpg

Se você já implantou uma zona de pouso com base em Hadoop, você tem quase tudo que você precisa em 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 da esquerda, para a direita na figura, onde os dados são extraídos de bancos de dados operacionais, transformado na zona de desembarque, e depois carregados no 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.

menu