Vídeo: Pig Tutorial | Apache Pig Tutorial | What Is Pig In Hadoop? | Apache Pig Architecture | Simplilearn 2024
No seu núcleo, o Pig Latin é um idioma fluxo de dados , onde você define um fluxo de dados e uma série de transformações que são aplicadas aos dados à medida que flui através da sua aplicação. Isso contrasta com um fluxo de controle (como C ou Java), onde você escreve uma série de instruções.
Nos idiomas de fluxo de controle, você usa construções como loops e lógica condicional (como uma instrução if). Você não encontrará loops e afirmações em Pig Latin.
Se você precisa de um pouco convincente de que trabalhar com Pig é uma linha significativamente mais fácil de enxugar do que ter que escrever programas Map and Reduce, comece por dar uma olhada em alguma sintaxe real do porco:
A = LOAD 'data_file. TXT';. B = GRUPO …; … C = FILTRO …;. DUMP B;. STORE C INTO 'Resultados';
Alguns dos textos desse exemplo realmente se parecem com Inglês, certo? Não é muito assustador, pelo menos neste momento. Olhando para cada linha por sua vez, você pode ver o fluxo básico de um programa Pig. (Note que este código pode ser parte de um script ou emitido no shell interativo chamado Grunt.)
-
Carga: primeiro carrega (LOAD) os dados que você deseja manipular.
Como em um trabalho MapReduce típico, esses dados são armazenados no HDFS. Para um programa Pig para acessar os dados, primeiro diga a Pig o arquivo ou os arquivos a serem usados. Para essa tarefa, você usa o comando LOAD 'data_file'.
Aqui, 'data_file' pode especificar um arquivo HDFS ou um diretório. Se um diretório for especificado, todos os arquivos nesse diretório serão carregados no programa.
Se os dados estiverem armazenados em um formato de arquivo que não seja acessível nativamente para Pig, você pode opcionalmente adicionar a função USING à instrução LOAD para especificar uma função definida pelo usuário que pode ler em (e interpretar) os dados.
-
Transformar: Você executa os dados através de um conjunto de transformações que, bem como o capô e longe de tudo o que você tem para se preocupar, são traduzidas para um conjunto de tarefas de Mapa e Redução.
A lógica de transformação é onde ocorre toda a manipulação de dados. Aqui, você pode FILTRAR linhas que não são de interesse, JUNTE-SE a dois conjuntos de arquivos de dados, GRUPO de dados para criar agregações, ORDER resultados, e fazer muito, muito mais.
-
Dump: Finalmente, você despeja (DUMP) os resultados na tela
ou
Store (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 seu programa entra em produção, basta mudar a chamada DUMP para uma chamada STORE para que qualquer resultado da execução de seus programas seja armazenado em um arquivo para posterior processamento ou análise.