Índice:
Definição - O que significa o Apache Pig?
O Apache Pig é uma plataforma usada para analisar grandes conjuntos de dados. Consiste em uma linguagem de alto nível para expressar programas de análise de dados, juntamente com a infraestrutura para avaliar esses programas. Uma das características mais significativas do Pig é que sua estrutura responde a uma paralelização significativa.
O Pig opera na plataforma Hadoop, gravando e lendo dados do HDFS (Hadoop Distributed File System) e executando o processamento por meio de uma ou mais tarefas do MapReduce. O Apache Pig está disponível como código aberto.
O Apache Pig também é conhecido como Pig Programming Language ou Hadoop Pig.
Techopedia explica Apache Pig
O Apache Pig possui duas partes: idioma latino do Pig e mecanismo do Pig. A linguagem Pig Latin é uma linguagem de script que permite aos usuários ilustrar a maneira pela qual os fluxos de dados de uma ou mais entradas devem ser lidos e processados e o local em que deve ser armazenado.
Algumas das principais propriedades do Pig Latin são as seguintes:
- Fácil de programar: tarefas complexas que consistem em várias transformações de dados interconectadas são claramente codificadas como sequências de fluxo de dados. Isso os torna simples de escrever, entender e manter.
- Possibilidades de otimização: a maneira pela qual as tarefas são codificadas permite que o sistema otimize a execução automática. Isso permite que o usuário preste atenção na semântica em vez de na eficiência.
- Extensibilidade: Os usuários têm permissão para criar suas próprias funções para realizar o processamento para fins especiais. O mecanismo do Pig é responsável pela execução do fluxo de dados gravados no Pig Latin. Muito parecido com um design padrão do sistema de gerenciamento de banco de dados relacional (RDBMS), o Apache Pig consiste em um analisador, otimizador e verificador de tipos, além de operadores que executam o processamento de dados. O Pig não inclui transações, um catálogo de dados ou a capacidade de lidar diretamente com o armazenamento de dados ou empregar a estrutura de execução.