Aula 05 - Biblioteca MapReduce

Descrição

Hadoop Mapa Mental sobre Aula 05 - Biblioteca MapReduce, criado por Ronaldo Pimentel em 21-10-2017.
Ronaldo Pimentel
Mapa Mental por Ronaldo Pimentel , atualizado more than 1 year ago
Ronaldo Pimentel
Criado por Ronaldo Pimentel aproximadamente 7 anos atrás
52
2

Resumo de Recurso

Aula 05 - Biblioteca MapReduce
  1. Programação
    1. Programa
      1. Conjunto de instruções (algoritmo) que um computador segue para realizar uma tarefa
      2. Programador
        1. Profissional que cria algoritmos para o computador realizar uma tarefa
        2. Problema
          1. Solução
            1. Linguagens de Programação
              1. Criadas para facilitar a tarefa de programação. Permite criar algoritmos com uma linguagem mais compreensível por humanos e faz a tradução do código para linguagem de máquina.
                1. Java
                  1. Criada em 1991 por James BIG DATA Gosling • Lançada pela primeira vez pela Sun Microsystems em 1995 • Inicialmente criada para ser utilizada em dispositivos embarcados • Adquirida pela Oracle Corporation em 2010 https://www.oracle.com/java/ • Sintaxe baseada na linguagem de programação C BIG DATA • Segue o paradigma de orientação a objetos • Utilizada para desenvolvimento Web, aplicações móveis e Desktop
                    1. Características
                      1. Java permite o encapsulamento BIG DATA dos dados • Esconde detalhes da implementação de um objeto • O código cliente pode usar apenas a interface para a operação
                        1. Permite que o código fique bem organizado BIG DATA • A manutenção é mais fácil e menos custosa • Permite a alteração do código sem alterar o código do cliente • Permite executar o mesmo código em diversos sistemas operacionais
                          1. JVM - Java Virtual Machine BIG DATA • Manipula todos os detalhes de baixo nível para que o programador possa apenas escrever um programa e executá-lo em uma variedade de sistemas operacionais. • Auxilia o gerenciamento de memória e fornece informações de depuração, entre outras coisas.
                            1. Que ferramenta utilizar para programar em Java? BIG DATA • Editor de texto – Bloco de notas, Gedit, Notepad++ • IDE - Integrated Development Environment ou Ambiente de Desenvolvimento Integrado – NetBeans, Eclipse, IntelliJ IDEA
                      2. Biblioteca Hadoop
                        1. Conjunto de classes que podem ser herdadas para utilização de funcionalidades pré-definidas O conjunto de classe é dividido nos seguintes componentes:
                          1. Hadoop Common:
                            1. : funcionalidades comuns para todas as aplicações Hadoop
                            2. Hadoop Distributed File System (HDFS):
                              1. classes para manipulação do Sistema de arquivos do Hadoop
                              2. Hadoop MapReduce:
                                1. classes para o processamento das aplicações MapReduce
                                2. Hadoop YARN:
                                  1. classes para o gerenciamento de jobs e recursos do cluster
                                3. Implementação MapReduce
                                  1. 1 - Implementar as classes da aplicação
                                    1. Serão implementadas 3 classes:ContaPalavrasMap.java ContaPalavrasReduce.java ContaPalavrasDriver.java
                                      1. Classe mapper Contar palavras
                                        1. Exemplos de objetos do tipo BIG DATA InputFormat • TextInputFormat – Default, lê cada linha terminada com “\n” como sendo um valor • FileInputFormat – Classe abstrata usada para InputFormats baseados em arquivos • KeyValueTextInputFormat – Determina linhas por meio de um separador (tab por padrão)
                                          1. • Chaves e valores são objetos Java • As chaves são objetos que implementam a interface WritableComparable • Os valores são objetos que implementam a interface Writable – Exemplos: IntWritable, LongWritable, FloatWritable, Text...
                                          2. classe driver
                                            1. Como os dados são enviados às tarefas BIG DATA Map? • Especificado por um objeto InputFormat • O formato de envio deve ser especificado na classe driver • Deve ser especificado a localização dos dados de entrada • Esse objeto determina como os dados de entrada serão divididos
                                            2. Classe reducer
                                              1. Reduz um conjunto de valores intermediários que compartilham uma chave para um conjunto menor de valores.
                                                1. Neste exemplo conta a quantidade de vezes que uma palavra aparece no texto.
                                                  1. int soma = 0; for (IntWritable val : values) { soma += val.get(); } context.write(key, new IntWritable(soma));
                                                2. https://hadoop.apache.org/docs/r2.7.0/api/org/apache/hadoop/mapreduce/Reducer.html
                                            3. 2 - Gerar um arquivo JAR da aplicação
                                              1. Na Ide, neste caso no eclipse, exporta o arquivo no formato jar
                                                1. define o caminho para salvar:
                                                  1. Definir o seguinte caminho: /home/training/Documents/contapalavras.jar
                                              2. 3 - Executar o JAR no ambiente Hadoop
                                                1. Executar o jar contapalavras.jar, passando como parâmetro o diretório de entrada input_cp e um diretório de saída output_cp.
                                                  1. [training@localhost ~]$ hadoop jar ~/Documents/contapalavras.jar ContaPalavrasDriver input_cp output_cp
                                                2. 4 - Visualizar o resultado da aplicação
                                                  1. Com base nos parâmetros de saída da classe driver
                                                    1. Visualizar o diretório de saída da aplicação
                                                      1. [training@localhost ~]$ hadoop fs -ls output_cp
                                                  2. 5 - Considerações • O projeto criado pode ser utilizado como base para outras aplicações • O mesmo código pode ser executado em um cluster com milhares de máquinas • É possível criar uma aplicação com múltiplas iterações Map e Reduce • Em caso de erros, verificar os registros de log do Hadoop • Documentação do Hadoop: http://hadoop.apache.org/

                                                Semelhante

                                                Programação
                                                Prepara Palhoça
                                                Bigdata - Arquitetura Hadoop
                                                Ronaldo Pimentel
                                                Curso AlgaWorks - Angular, Rest,SpringBoot
                                                Carlos Eduardo De Barros Souza
                                                Oracle Certified Java Associate 7
                                                Rafael Mulock
                                                O.Objetos Java
                                                Lorran Alves
                                                JPA/Hibernate
                                                Roberta Yaskarel
                                                Java - Orientação a Objetos
                                                Leandro Serra
                                                Encapsulamento
                                                Marcos Fernandes2129
                                                Java Básico
                                                jr.desenvolvimento