GoConqr has a new look! Let us know what you think.

Mind map

Aula 05 - Biblioteca MapReduce

Ronaldo Pimentel Hadoop Portuguese 5.0Average rating 5.0 out of 5 (1 rating)

Mapa mental sobre Biblioteca MapReduce: programação, biblioteca Hadoop, linguagens de programação e implementação MapReduce

Mapa mental: Biblioteca MapReduce

Map content

Aula 05 - Biblioteca MapReduce

  1. Programação

    • Programa
      • Conjunto de instruções (algoritmo) que um computador segue para realizar uma tarefa
    • Programador
      • Profissional que cria algoritmos para o computador realizar uma tarefa
    • Problema
    • Solução
    • Linguagens de Programação
      • 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.
      • Java
        • 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
        • Características
          • 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
          • 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
          • 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.
          • 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

    • Conjunto de classes que podem ser herdadas para utilização de funcionalidades pré-definidas O conjunto de classe é dividido nos seguintes componentes:
      • Hadoop Common:
        • : funcionalidades comuns para todas as aplicações Hadoop
      • Hadoop Distributed File System (HDFS):
        • classes para manipulação do Sistema de arquivos do Hadoop
      • Hadoop MapReduce:
        • classes para o processamento das aplicações MapReduce
      • Hadoop YARN:
        • classes para o gerenciamento de jobs e recursos do cluster
    • Implementação MapReduce
      • 1 - Implementar as classes da aplicação
        • Serão implementadas 3 classes:ContaPalavrasMap.java ContaPalavrasReduce.java ContaPalavrasDriver.java
          • Classe mapper Contar palavras
            • 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)
            • • 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...
          • classe driver
            • 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
          • Classe reducer
            • Reduz um conjunto de valores intermediários que compartilham uma chave para um conjunto menor de valores.
              • Neste exemplo conta a quantidade de vezes que uma palavra aparece no texto.
                • int soma = 0; for (IntWritable val : values) { soma += val.get(); } context.write(key, new IntWritable(soma));
            • https://hadoop.apache.org/docs/r2.7.0/api/org/apache/hadoop/mapreduce/Reducer.html
      • 2 - Gerar um arquivo JAR da aplicação
        • Na Ide, neste caso no eclipse, exporta o arquivo no formato jar
          • define o caminho para salvar:
            • Definir o seguinte caminho: /home/training/Documents/contapalavras.jar
      • 3 - Executar o JAR no ambiente Hadoop
        • 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.
          • [training@localhost ~]$ hadoop jar ~/Documents/contapalavras.jar ContaPalavrasDriver input_cp output_cp
      • 4 - Visualizar o resultado da aplicação
        • Com base nos parâmetros de saída da classe driver
          • Visualizar o diretório de saída da aplicação
            • [training@localhost ~]$ hadoop fs -ls output_cp
      • 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/

Information

Description
Hadoop Mind Map on Aula 05 - Biblioteca MapReduce, created by Ronaldo Pimentel on 21/10/2017.
Views
92
Rating
Average rating 5.0 out of 5 (1 rating)

Feedback

What is it about?

What do you think of the new look?

How do you like it?