Project Description

Este curso oferece aos programadores Java um mergulho profundo no desenvolvimento de aplicativos Hadoop. Os alunos aprenderão como projetar e desenvolver aplicativos MapReduce eficientes e efetivos para o Hadoop usando a Hortonworks Data Platform, incluindo como implementar combinadores, particionadores, tipos secundários, formatos personalizados de entrada e saída, juntar conjuntos de dados grandes, testar unidades e desenvolver UDFs para Pig e Hive.

Os laboratórios são executados em um cluster HDD 2.1 de 7 nós que está sendo executado em uma máquina virtual que os alunos podem manter para uso após o treinamento.

Público-Alvo

Somente treinamentos para empresas (In-Company). Experientes engenheiros de software Java que precisam desenvolver aplicativos Java MapReduce para o Hadoop.

Requisitos

Somente treinamentos para empresas (In-Company). Experiência em desenvolver aplicativos Java e usar um Java IDE. Os laboratórios são completados usando o Eclipse IDE e o Gradle. Não é necessário conhecimento prévio de Hadoop.

Conteúdo Programático

Este é o conteúdo que será abordado durante o curso. [inglês]

1. UNDERSTANDING HADOOP AND MAPREDUCE

 OBJECTIVES
  • Understanding Hadoop 2.0 and HDFS
  • Writing MapReduce Applications
  • Map Aggregation

LABS

  • Demonstration: Understanding Block Storage
  • Configuring a Hadoop Development Environment
  • Putting Files in HDFS with Java
  • Demonstration: Understanding Map Reduce
  • Word Count
  • Distributed Grep
  • Inverted Index
  • Using a Combiner
  • Computing an Average

2. WORKING WITH SORTING AND INPUT/OUTPUT FORMATS

OBJECTIVES

  • Partitioning and Sorting
  • Input and Output Formats

LABS

  • Writing a Custom Partitioner
  • Using TotalOrderPartitioner
  • Custom Sorting
  • Demonstration: Combining Input Files
  • Processing Multiple Inputs
  • Writing a Custom Input Format
  • Customizing Output
  • Simple Moving Average

3. WORKING WITH MAPREDUCE

OBJECTIVES

  • Optimizing MapReduce Jobs
  • Advanced MapReduce Features
  • Unit Testing
  • HBase Programming

LABS

  • Using Data Compression
  • Defining a RawComparator
  • Performing a Map-Side Join
  • Using a Bloom Filter
  • Unit Testing a MapReduce Job
  • Importing Data to HBase
  • An HBase Mapreduce Job

4. WORKING WITH PIG AND HIVE PROGRAMMING

OBJECTIVES

  • Pig Programming
  • Hive Programming
  • Defining Workflow

PREREQUISITES

  • Demonstration: Understanding Pig
  • Writing a Pig UDF
  • Writing a Pig Accumulator
  • Writing a Hive UDF
  • Defining an Oozie Workflow
  • TF-IDF and the JobControl Class