Definição – o que significa o Apache Pig?
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, junto com a infraestrutura para avaliar esses programas. Uma das características mais significativas do Pig é que sua estrutura responde à paralelização significativa.
O Pig opera na plataforma Hadoop, gravando e lendo dados do Hadoop Distributed File System (HDFS) e executando o processamento por meio de uma ou mais tarefas MapReduce. O Apache Pig está disponível como código aberto.
O Apache Pig também é conhecido como Pig Programming Language ou Hadoop Pig.
Definirtec explica Apache Pig
O Apache Pig tem duas partes: a linguagem Pig Latin e o mecanismo Pig. A linguagem Pig Latin é uma linguagem de script que permite aos usuários ilustrar a maneira como o fluxo de dados de uma ou mais entradas deve ser lido e processado 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 como as tarefas são codificadas permite que o sistema otimize a execução automática. Isso permite que o usuário preste atenção à semântica em vez de à eficiência.
- Extensibilidade: os usuários têm permissão para criar suas próprias funções para a realização de processamento para fins especiais. O mecanismo Pig é responsável pela execução do fluxo de dados escrito em Pig Latin. Muito parecido com o design de um sistema de gerenciamento de banco de dados relacional (RDBMS) padrão, o Apache Pig consiste em um analisador, otimizador e verificador de tipo, além de operadores que realizam 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.