Aula 05 - Biblioteca MapReduce

Description

Hadoop Mind Map on Aula 05 - Biblioteca MapReduce, created by Ronaldo Pimentel on 21/10/2017.
Ronaldo Pimentel
Mind Map by Ronaldo Pimentel , updated more than 1 year ago
Ronaldo Pimentel
Created by Ronaldo Pimentel about 7 years ago
54
2

Resource summary

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/
                                                Show full summary Hide full summary

                                                Similar

                                                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