Vídeo: PIG Practical Demo | Wordcount Execution via PIG Latin 2024
Pig Latin é o idioma para programas Pig. Porco traduz o script Pig Latin em trabalhos MapReduce que pode ser executado no cluster Hadoop. Ao chegar com Pig Latin, a equipe de desenvolvimento seguiu três princípios principais de design:
-
Mantenha-o simples . Pig Latin fornece um método simplificado para interagir com Java MapReduce. É uma abstração, em outras palavras, que simplifica a criação de programas paralelos no cluster Hadoop para fluxos de dados e análises. Tarefas complexas podem exigir uma série de transformações de dados inter-relacionadas - tais séries são codificadas como seqüências de fluxo de dados.
Escrever transformação de dados e fluxos como scripts Pig Latin em vez de programas Java MapReduce torna esses programas mais fáceis de escrever, entender e manter porque a) você não precisa escrever o trabalho em Java, b) você não precisa pensar em termos de MapReduce, e c) você não precisa criar um código personalizado para suportar tipos de dados ricos.
Pig Latin fornece uma linguagem mais simples para explorar o seu cluster Hadoop, facilitando assim que mais pessoas aproveitem o poder do Hadoop e se tornem produtivas mais cedo.
-
Torná-lo inteligente. Você pode se lembrar que o Pig Latin Compiler faz o trabalho de transformar um programa Pig Latin em uma série de trabalhos Java MapReduce. O truque é garantir que o compilador possa otimizar a execução desses trabalhos Java MapReduce automaticamente, permitindo que o usuário se concentre em semântica em vez de como otimizar e acessar os dados.
Para você tipos SQL, a discussão soa familiar. O SQL é configurado como uma consulta declarativa que você usa para acessar dados estruturados armazenados em um RDBMS. O mecanismo RDBMS primeiro traduz a consulta para um método de acesso a dados e, em seguida, analisa as estatísticas e gera uma série de abordagens de acesso a dados. O otimizador baseado em custos escolhe a abordagem mais eficiente para a execução.
-
Não limite o desenvolvimento. Make Pig extensível para que os desenvolvedores possam adicionar funções para resolver seus problemas comerciais específicos.
Os armazéns de dados RDBMS tradicionais utilizam o padrão de processamento de dados ETL, onde você e xtract dados de fontes externas, t o redimensionam para atender às suas necessidades operacionais e, em seguida, > l para o objetivo final, seja um armazenamento de dados operacional, um data warehouse ou outra variante de banco de dados. No entanto, com grandes dados, você normalmente deseja reduzir a quantidade de dados em que você se deslocou, então você acaba trazendo o processamento para o próprio dado.
O idioma para os fluxos de dados do Porco, portanto, faz uma passagem na abordagem ETL antiga e, em vez disso, ele usa ELT:
E xtract os dados de suas várias fontes, l oad em HDFS e, em seguida, t fortificá-lo conforme necessário para preparar os dados para análise posterior.