O fluxo Pig Latin Aplicação em Hadoop

Na sua essência, Pig Latin é um fluxo de dados língua, onde você define um fluxo de dados e uma série de transformações que são aplicadas aos dados que flui através da sua aplicação. Isto está em contraste com um controle de fluxo língua (como C ou Java), onde você escreve uma série de instruções.

Em linguagens de controle de fluxo, você usa construções como loops e lógica condicional (como uma instrução if). Você não vai encontrar laços e se declarações em Pig Latin.

Se você precisar de algum convincente que trabalhar com porco é uma linha muito mais fácil de roer do que ter que escrever Map e Reduce programas, começar por dar uma olhada em alguns sintaxe Porco real:

A = CARGA 'data_file.txt' -.. B = GRUPO ... -... C = FILTER ...- DESPEJE B-.STORE C INTO 'Results'-

Alguns dos textos neste exemplo realmente parece Inglês, certo? Não demasiado assustador, pelo menos neste momento. Olhando para cada linha, por sua vez, você pode ver o fluxo básico de um programa de porco. (Note que este código pode ser parte de um script ou emitidos no shell interativo chamado Grunt.)

  1. Carga: Você primeira carga (LOAD) os dados que você deseja manipular.

    Como em um trabalho MapReduce típico, esses dados são armazenados no HDFS. Para um programa de porco para acessar os dados, primeiro você dizer Pig o arquivo ou arquivos para usar. Para essa tarefa, você usa o CARGA 'Data_file' comando.

    Aqui, 'Data_file' pode especificar um arquivo de HDFS ou um diretório. Se um diretório for especificado, todos os arquivos no diretório são carregados no programa.

    Se os dados são armazenados em um formato de arquivo que não é nativamente acessíveis a Pig, você pode, opcionalmente, adicionar a função usando a declaração LOAD para especificar uma função definida pelo usuário que pode ler na (e interpretar) os dados.

  2. Transformação: Você executar os dados através de um conjunto de transformações que, maneira sob o capô e longe de qualquer coisa que você tem que preocupar-se com, são traduzidos em um conjunto de Map e Reduce tarefas.

    A lógica de transformação é onde toda a manipulação de dados acontece. Aqui, você pode filtrar as linhas que não são de interesse, Cadastre-se dois conjuntos de arquivos de dados, dados de grupo para construir agregações, resultados ordem, e fazer muito, muito mais.

  3. Dump: Finalmente, você despejo (dump) os resultados para a tela

    ou

    Loja (STORE) os resultados em um arquivo em algum lugar.

    Você normalmente usaria o comando dump para enviar a saída para a tela quando você depurar seus programas. Quando o programa entra em produção, você simplesmente alterar a chamada de despejo para uma chamada de loja para que qualquer resultado de executar o seu programas são armazenados em um arquivo para posterior processamento ou análise.

menu