Tutorial Hadoop Pig: O que é Apache Pig? Archiarquitetura, exemplo
Começaremos com a introdução ao Pig
O que é Apache Pig?
Pig é uma linguagem de programação de alto nível útil para analisar grandes conjuntos de dados. Pig foi resultado do esforço de desenvolvimento do Yahoo!
Em uma estrutura MapReduce, os programas precisam ser traduzidos em uma série de estágios Mapear e Reduzir. No entanto, este não é um modelo de programação com o qual os analistas de dados estão familiarizados. Então, para preencher essa lacuna, uma abstração chamada Pig foi construída sobre o Hadoop.
Apache Pig permite que as pessoas se concentrem mais em analisando conjuntos de dados em massa e gastando menos tempo escrevendo programas Map-Reduce. Semelhante aos Porcos, que comem qualquer coisa, o Porco Apache linguagem de programação foi projetado para funcionar com qualquer tipo de dados. É por isso que o nome, Porco!

Neste tutorial do Apache Pig para iniciantes, você aprenderá-
- O que é PORCO?
- Porco Archiarquitetura
- Pré-requisitos
- Como baixar e instalar o Pig
- Exemplo de script de porco
Porco Archiarquitetura
A ArchiA arquitetura do Pig consiste em dois componentes:
-
Porco latim, que é uma linguagem
-
Um ambiente de execução, para executar programas PigLatin.
Um programa Pig Latin consiste em uma série de operações ou transformações que são aplicadas aos dados de entrada para produzir a saída. Estas operações descrevem um fluxo de dados que é traduzido em uma representação executável, pelo ambiente de execução Hadoop Pig. Abaixo, os resultados dessas transformações são uma série de trabalhos MapReduce dos quais um programador desconhece. Então, de certa forma, o Pig no Hadoop permite que o programador se concentre nos dados e não na natureza da execução.
PigLatin é uma linguagem relativamente rígida que usa palavras-chave familiares de processamento de dados, por exemplo, Join, Group e Filter.
Modos de execução:
Pig no Hadoop possui dois modos de execução:
-
Modo local: Neste modo, a linguagem Hadoop Pig é executada em um único JVM e faz uso do sistema de arquivos local. Este modo é adequado apenas para análise de pequenos conjuntos de dados usando Pig no Hadoop
-
Modo Map Reduce: Neste modo, as consultas escritas em Pig Latin são traduzidas para MapaReduzir jobs e são executados em um cluster Hadoop (o cluster pode ser pseudo ou totalmente distribuído). O modo MapReduce com cluster totalmente distribuído é útil para executar o Pig em grandes conjuntos de dados.
Como baixar e instalar o Pig
Agora neste tutorial do Apache Pig, aprenderemos como baixar e instalar o Pig:
Antes de iniciarmos o processo real, certifique-se de ter o Hadoop instalado. Altere o usuário para 'hduser' (id usado durante a configuração do Hadoop, você pode mudar para o ID do usuário usado durante a configuração do Hadoop)
Passo 1) Baixe a versão estável mais recente do Pig Hadoop em qualquer um dos sites de espelhos disponíveis em
http://pig.apache.org/releases.html
Selecionar tar.gz (e não src.tar.gz) arquivo para download.
Passo 2) Assim que o download for concluído, navegue até o diretório que contém o arquivo tar baixado e mova o tar para o local onde deseja configurar o Pig Hadoop. Neste caso, iremos para /usr/local
Vá para um diretório que contenha arquivos Pig Hadoop
cd /usr/local
Extraia o conteúdo do arquivo tar conforme abaixo
sudo tar -xvf pig-0.12.1.tar.gz
Passo 3). modificar ~ / .bashrc para adicionar variáveis de ambiente relacionadas ao Pig
Abra ~ / .bashrc arquivo em qualquer editor de texto de sua escolha e faça as modificações abaixo-
export PIG_HOME=<Installation directory of Pig> export PATH=$PIG_HOME/bin:$HADOOP_HOME/bin:$PATH
Passo 4) Agora, obtenha esta configuração de ambiente usando o comando abaixo
. ~/.bashrc
Passo 5) Precisamos recompilar PORCO suportar Hadoop 2.2.0
Aqui estão as etapas para fazer isso-
Vá para o diretório inicial do PIG
cd $PIG_HOME
Instalar formiga
sudo apt-get install ant
Nota: O download começará e consumirá tempo de acordo com a velocidade da sua internet.
Recompilar PIG
sudo ant clean jar-all -Dhadoopversion=23
Observe que neste processo de recompilação vários componentes são baixados. Portanto, um sistema deve estar conectado à internet.
Além disso, caso este processo trave em algum lugar e você não veja nenhum movimento no prompt de comando por mais de 20 minutos, pressione Ctrl + c e execute novamente o mesmo comando.
No nosso caso, leva 20 minutos
Passo 6) Teste o Porco instalação usando o comando
pig -help
Exemplo de script de porco
Usaremos Pig Scripts para encontrar o número de produtos vendidos em cada país.
Entrada: Nosso conjunto de dados de entrada é um arquivo CSV, VendasJan2009.csv
Passo 1) Inicie o Hadoop
$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh
Passo 2) Pig em Big Data pega um arquivo de HDFS no modo MapReduce e armazena os resultados de volta no HDFS.
Copiar arquivo VendasJan2009.csv (armazenado no sistema de arquivos local, ~/input/SalesJan2009.csv) para o diretório inicial do HDFS (Hadoop Distributed File System)
Aqui neste exemplo do Apache Pig, o arquivo está na entrada da pasta. Se o arquivo estiver armazenado em algum outro local, dê esse nome
$HADOOP_HOME/bin/hdfs dfs -copyFromLocal ~/input/SalesJan2009.csv /
Verifique se um arquivo foi realmente copiado ou não.
$HADOOP_HOME/bin/hdfs dfs -ls /
Passo 3) Configuração de porco
Primeiro, navegue até $PIG_HOME/conf
cd $PIG_HOME/conf
sudo cp pig.properties pig.properties.original
Abra porco.propriedades usando um editor de texto de sua escolha e especifique o caminho do arquivo de log usando porco.logfile
sudo gedit pig.properties
O Loger usará este arquivo para registrar erros.
Passo 4) Execute o comando 'pig' que iniciará o prompt de comando do Pig, que é um shell interativo de consultas do Pig.
pig
Passo 5)No prompt de comando Grunt para Pig, execute os comandos Pig abaixo em ordem.
— A. Carregue o arquivo contendo dados.
salesTable = LOAD '/SalesJan2009.csv' USING PigStorage(',') AS (Transaction_date:chararray,Product:chararray,Price:chararray,Payment_Type:chararray,Name:chararray,City:chararray,State:chararray,Country:chararray,Account_Created:chararray,Last_Login:chararray,Latitude:chararray,Longitude:chararray);
Pressione Enter após este comando.
— B. Agrupar dados por campo País
GroupByCountry = GROUP salesTable BY Country;
- C. Para cada tupla em 'GrupoPorPaís', gere a string resultante do formulário-> Nome do País: Nº de produtos vendidos
CountByCountry = FOREACH GroupByCountry GENERATE CONCAT((chararray)$0,CONCAT(':',(chararray)COUNT($1)));
Pressione Enter após este comando.
— D. Armazene os resultados do Data Flow no diretório 'pig_output_vendas' em HDFS
STORE CountByCountry INTO 'pig_output_sales' USING PigStorage('\t');
Este comando levará algum tempo para ser executado. Uma vez feito isso, você deverá ver a seguinte tela
Passo 6) O resultado pode ser visto através da interface de comando como,
$HADOOP_HOME/bin/hdfs dfs -cat pig_output_sales/part-r-00000
Os resultados também podem ser vistos através de uma interface web como-
Resultados por meio de uma interface web-
Abra http://localhost:50070/
em um navegador da web.
Agora selecione 'Navegar no sistema de arquivos' e navegue até /usuário/hduser/pig_output_sales
Abra parte-r-00000