Hadoop java tdc 2014

819 views

Published on

Hadoop java tdc 2014

  1. 1. Hadoop para Programadores Java Aldrin Leal <aldrin@ingenieux.com.br>
  2. 2. Globalcode – Open4education Agenda Introdução Overview da Plataforma Hadoop As APIs Core Montando o seu Ambiente Estudo de Caso Conclusão
  3. 3. Globalcode – Open4education Introdução Aldrin Leal Protroll Projetos / Experiência em Hadoop Outras Áreas: Cloud ALM / Release Engineering
  4. 4. Globalcode – Open4education Falando nisso Meu curso hardcore modafoca turbinado de Serviços Web Amazônicos (AWS): http://www.soaexpert.com.br/education/cloud Hadoop em Breve!!!1! o/
  5. 5. Globalcode – Open4education Sobre esta Palestra Java (1.6, nível SCJP hardcore) Foi mal A Culpa é do Cutting!!!1! Maven-fu Properties, Dependency Plugin, busca de artefatos Mas... eu já falei sobre tudo isso antes: http://www.slideshare.net/aldrinleal
  6. 6. Globalcode – Open4education Overview da Plataforma Hadoop Natureza da Informação Volume de Coleta de Dados Embaraçosamente Paralelo (Map Reduce) Storage de Alta Disponibilidade (HDFS) Distros: HDP CDH AWS/EMR Outros
  7. 7. Globalcode – Open4education Overview da Plataforma Hadoop Serviços HDFS: Namenode, Journal Node (ou 2NDD), DataNode MapReduce: Job Tracker, Task Tracker (yarn: RM, RS, PS, HS) HA: Zookeeper MapReduce Mappers Reducers Combiners / Partitioners
  8. 8. Globalcode – Open4education As APIs Core Client / Common Configuration: Leitura de Configuração IO: Aspectos Comuns DFS Client (HDFS) Job Client (MapReduce)
  9. 9. Globalcode – Open4education Preparando Ambiente Local CDH5: http://bit.ly/cdh5-install-guide Daemons HDFS: NN, JN, http://localhost:50070 MR (Yarn): http://localhost:19888/ Na verdade, tudo pode rodar local e sem daemon Útil para prototipar Rode em Modo PseudoDistribuído pra conferir
  10. 10. Globalcode – Open4education Exemplo Rei do Camarote
  11. 11. Globalcode – Open4education Exemplo Rei do Camarote Configuração Leitura / Escrita Cômputo da Conta
  12. 12. Globalcode – Open4education Criando a Massa de Teste (API Client)
  13. 13. Globalcode – Open4education Modelo MapReduce
  14. 14. Globalcode – Open4education Modelo MapReduce Driver, Tool, Configurable, ToolRunner Job, JobConf Mapper Reducer Combiner InputFormat InputSplit RecordReaders OutputFormat Writable / WritableComparable Counters
  15. 15. Globalcode – Open4education Gerando a Massa de Dados
  16. 16. Globalcode – Open4education Job MapReduce Cirurgias no POM Maven Assembly Plugin (ou shade) Pegadinhas InputFormat define formato de K/V do Mapper Use o pacote .mapreduce (o .mapred é legado) sempre que possível hadoop jar != java jar Jobs Map Only são mais rápidos Relacionado: Reducers só rodam quando os maps terminam
  17. 17. Globalcode – Open4education Driver
  18. 18. Globalcode – Open4education Mapper
  19. 19. Globalcode – Open4education Reducer
  20. 20. Globalcode – Open4education Rodando hadoop fs -rmr exemplo-tdc-2014/output hadoop jar target/hadoop-tdc-2014-job.jar exemplo-tdc-2014/input/01 exemplo-tdc- 2014/output/01 Debugging: HADOOP_OPTS="- agentlib:jdwp=transport=dt_socket,server=y,suspend=y, address=5005" -Dmapreduce.jobtracker.address=local -Dmapreduce.framework.name=local
  21. 21. Globalcode – Open4education Ciclo Crie sua versão Opcional: MRUnit para Testes Rode o job localmente (com o filesystem local talvez) Yarn é (bem) mais dolorido :) Cheque seu classpath e faça testes no modo pseudodistribuído Assemblies Maven Shade Plugin ??? Lucro!
  22. 22. Globalcode – Open4education Limitações Óbvias Baixo Nível de API, especialmente para MR Serialização e Infinidade de problemas com o Writable e amigos Gerir o Workflow de forma Prática Gerir o Schema de Forma Prática Soluções Fluxo do Job: Cascading, Crunch, Kite, CDK Serialização: Thrift, Avro, ProtocolBuffers, Parquet Malditos Usuários: Hive / Pig Fluxo Macro: Oozie, Azkaban HCatalog
  23. 23. Globalcode – Open4education Conclusão: Hadoop e seus serviços HDFS e MapReduce Limitações e Abstrações
  24. 24. Globalcode – Open4education Referências Este projeto: $ hg clone https://bitbucket.org/aldrinleal/hadoop-tdc-2014 Plataforma Hadoop: QCon 2014 http://pt.slideshare.net/thiagosantiago25/hadoop-ryu- completeversion Data-Intensive Text Processing with MapReduce http://lintool.github.io/MapReduceAlgorithms/ MapReduce Design Patterns http://www.slideshare.net/DonaldMiner/mapreduce-design- patterns
  25. 25. Globalcode – Open4education Dúvidas?
  26. 26. Globalcode – Open4education Pensamento Final “People prefer remembering to imagining. Memory deals with familiar things; imagination deals with the unknown. Imagination can be frightening – it requires risking a departure from the familiar” (Shimon Peres)
  27. 27. Globalcode – Open4education Obrigado

×