Sumário - Novatec Editora

Propaganda
Benjamin Bengfort
Jenny Kim
Novatec
Authorized Portuguese translation of the English edition of Data Analytics with Hadoop, ISBN
9781491913703 © 2016 Benjamin Bengfort, Jenny Kim. This translation is published and sold by permission of O'Reilly Media, Inc., the owner of all rights to publish and sell the same.
Tradução em português autorizada da edição em inglês da obra Data Analytics with Hadoop, ISBN
9781491913703 © 2016 Benjamin Bengfort, Jenny Kim. Esta tradução é publicada e vendida com a
permissão da O'Reilly Media, Inc., detentora de todos os direitos para publicação e venda desta obra.
© Novatec Editora Ltda. 2016.
Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta
obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora.
Editor: Rubens Prates PY20160831
Tradução: Lúcia A. Kinoshita
Revisão gramatical: Smirna Cavalheiro
Editoração eletrônica: Carolina Kuwabata
ISBN: 978-85-7522-521-9
Histórico de impressões:
Setembro/2016
Primeira edição
Novatec Editora Ltda.
Rua Luís Antônio dos Santos 110
02460-000 – São Paulo, SP – Brasil
Tel.: +55 11 2959-6529
Email: [email protected]
Site: www.novatec.com.br
Twitter: twitter.com/novateceditora
Facebook: facebook.com/novatec
LinkedIn: linkedin.com/in/novatec
Sumário
Prefácio................................................................................................................................... 9
Parte I ■ Introdução à computação distribuída...................................................... 21
Capítulo 1 ■ A era do produto de dados....................................................................................22
O que é um produto de dados?.............................................................................. 23
Desenvolvendo produtos de dados em escala com o Hadoop.................................. 25
Tirando proveito de conjuntos grandes de dados.................................................26
Hadoop para produtos de dados.........................................................................27
O pipeline de ciência de dados e o ecossistema do Hadoop......................................29
Fluxos de trabalho para big data.........................................................................30
Conclusão..............................................................................................................32
Capítulo 2 ■ Um sistema operacional para big data..................................................................33
Conceitos básicos...................................................................................................34
Arquitetura do Hadoop..........................................................................................36
Um cluster Hadoop............................................................................................38
HDFS................................................................................................................41
YARN.............................................................................................................. 44
Trabalhando com um sistema de arquivos distribuído............................................ 44
Operações básicas no sistema de arquivos...........................................................45
Permissões de arquivos no HDFS.......................................................................48
Outras interfaces do HDFS................................................................................49
Trabalhando com computação distribuída..............................................................50
MapReduce: um modelo de programação funcional............................................51
MapReduce: implementado em um cluster..........................................................54
Além de um mapeamento e uma redução: encadeamento de jobs.........................62
Submetendo um job MapReduce ao YARN............................................................ 64
Conclusão..............................................................................................................66
5
6
Analítica de dados com Hadoop
Capítulo 3 ■ Um framework para Python e Hadoop Streaming..................................................68
Hadoop Streaming.................................................................................................69
Processamento de dados CSV com o Streaming..................................................73
Executando jobs de Streaming............................................................................78
Um framework para MapReduce com Python.........................................................81
Contando bigramas...........................................................................................85
Outros frameworks............................................................................................89
MapReduce avançado............................................................................................91
Combinadores...................................................................................................91
Particionadores..................................................................................................92
Encadeamento de jobs........................................................................................93
Conclusão..............................................................................................................98
Capítulo 4 ■ Processamento em memória com o Spark.............................................................99
Básico sobre o Spark............................................................................................101
A pilha do Spark..............................................................................................103
Conjuntos de dados distribuídos resilientes......................................................105
Programando com RDDs.................................................................................107
Spark interativo usando PySpark.......................................................................... 111
Escrevendo aplicações Spark................................................................................ 114
Visualizando atrasos das companhias aéreas com o Spark................................. 116
Conclusão............................................................................................................123
Capítulo 5 ■ Análise distribuída e padrões..............................................................................125
Processando com chaves......................................................................................127
Chaves compostas...........................................................................................129
Padrões para espaço de chaves..........................................................................133
Pares versus faixas............................................................................................139
Padrões de projeto................................................................................................ 143
Sumarização....................................................................................................144
Indexação........................................................................................................150
Filtragem.........................................................................................................159
Em direção à analítica final..................................................................................167
Adequando um modelo....................................................................................168
Validando modelos..........................................................................................170
Conclusão............................................................................................................172
Sumário
7
Parte II ■ Fluxos de trabalho e ferramentas para ciência de big data.....................174
Capítulo 6 ■ Mineração de dados e armazém de dados............................................................ 175
Consultas de dados estruturados com o Hive........................................................ 176
A interface de linha de comando (CLI) do Hive.................................................177
Hive Query Language (HQL)...........................................................................179
Análise de dados com o Hive............................................................................185
HBase..................................................................................................................192
Bancos de dados NoSQL e orientados a colunas................................................193
Analítica em tempo real com o HBase..............................................................196
Conclusão............................................................................................................206
Capítulo 7 ■ Ingestão de dados..............................................................................................207
Importando dados relacionais com o Sqoop..........................................................208
Importando do MySQL para o HDFS...............................................................209
Importando do MySQL para o Hive.................................................................212
Importando do MySQL para o HBase............................................................... 214
Ingestão de dados de streaming com o Flume........................................................ 217
Fluxos de dados do Flume................................................................................ 217
Ingestão de dados de impressão de produtos com o Flume................................221
Conclusão............................................................................................................226
Capítulo 8 ■ Analítica com APIs de alto nível...........................................................................228
Pig ......................................................................................................................229
Pig Latin..........................................................................................................230
Tipos de dados.................................................................................................236
Operadores relacionais.....................................................................................236
Funções definidas pelo usuário.........................................................................237
Concluindo......................................................................................................239
APIs de nível mais alto do Spark...........................................................................239
Spark SQL....................................................................................................... 241
DataFrames.....................................................................................................245
Conclusão............................................................................................................252
Capítulo 9 ■ Aprendizado de máquina....................................................................................253
Aprendizado de máquina escalável com o Spark....................................................253
Filtragem colaborativa......................................................................................256
Classificação....................................................................................................264
Clustering........................................................................................................267
Conclusão............................................................................................................271
8
Analítica de dados com Hadoop
Capítulo 10 ■ Resumo: fazendo ciência de dados distribuída...................................................272
Ciclo de vida dos produtos de dados..................................................................... 274
Lagos de dados................................................................................................275
Ingestão de dados............................................................................................278
Repositórios de dados para processamento.......................................................281
Ciclo de vida do aprendizado de máquina.............................................................283
Conclusão............................................................................................................286
Apêndice A ■ Criando um ambiente de desenvolvimento pseudodistribuído com o Hadoop.....288
Início rápido........................................................................................................288
Configurando o Linux.........................................................................................289
Criando um usuário Hadoop...........................................................................289
Configurando o SSH........................................................................................290
Instalando Java................................................................................................291
Desabilitando o IPv6........................................................................................291
Instalando o Hadoop...........................................................................................292
Desempacotando.............................................................................................293
Ambiente.........................................................................................................294
Configuração do Hadoop.................................................................................295
Formatando o Namenode.................................................................................297
Iniciando o Hadoop.........................................................................................298
Reiniciando o Hadoop.....................................................................................298
Apêndice B ■ Instalando os produtos do ecossistema do Hadoop.............................................300
Pacotes de distribuição do Hadoop.......................................................................300
Instalação dos produtos do ecossistema do Apache Hadoop por conta própria.......301
Instalação básica e passos para configuração.....................................................301
Configurações específicas do Sqoop.................................................................303
Configurações específicas do Hive....................................................................304
Configurações específicas do HBase.................................................................306
Instalando o Spark...........................................................................................309
Glossário............................................................................................................................... 313
Download