Top Banner
Python 3 + Apache Hadoop Eduardo Mendes (z4r4tu5tr4)
29

Python 3 + apache hadoop

Feb 17, 2017

Download

Software

Eduardo Mendes
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Python 3 + apache hadoop

Python 3 + Apache HadoopEduardo Mendes (z4r4tu5tr4)

Page 2: Python 3 + apache hadoop

z4r4tu5tr4@Babbage: whoami

● Eduardo Mendes● Fatec Americana● github.com/z4r4tu5tr4● [email protected]

Page 3: Python 3 + apache hadoop

Estrutura

● Problemas○ Metereologia○ Linguística de Corpus

● Soluções○ Celery + NFS○ Python + Mongo○ Disco○ Hadoop

Page 4: Python 3 + apache hadoop

ProblemasMetereologia e Linguística de Corpus

Page 5: Python 3 + apache hadoop

Metereologia● Cruzamento de duas bases de dados● Atualizadas de 15 em 15 minutos● Durante 100 anos● Tabelas xls● Mudança de padrão com o passar dos anos

Page 6: Python 3 + apache hadoop

Linguística de Corpus [0]Linguística de corpus ocupa-se ela da coleta e da exploração de corpora, ou

conjutos de dados linguísticos textuais coletados criteriosamente, com o

propósito de servirem para a pesquisa de uma língua ou variedade linguística.

Como tal, dedica-se à exploração da linguagem por meio de evidências

empíricas, extraídas de computadores

(Sardinha, 2014)

Page 7: Python 3 + apache hadoop

Linguística de Corpus [1]● O que esperar?

○ Não é PLN○ Não é mineração de dados○ Não é aprendizado de máquina

Page 8: Python 3 + apache hadoop

Linguística de Corpus [2]Operações básicas esperadas LC (Mike Scott):

● Contagem de palavras (WordList)

● Concordância (Concord)

● Comparação (KeyWords)

● Etiquetagem (Tagging)

Page 9: Python 3 + apache hadoop

“Soluções”Parciais

Page 10: Python 3 + apache hadoop

Celery + NFS● Complexibilidade de código● Problemas com logs● NFS não particiona arquivos

○ Problemas de leitura e armazenamento

Page 11: Python 3 + apache hadoop

Python + Mongo● Uma solução excelente com metereologia e

péssima com Linguística.

Page 12: Python 3 + apache hadoop

SoluçõesO que deu certo

Page 13: Python 3 + apache hadoop

Sistema de arquivos distribuído

● Google File System○ Particiona arquivos em partes de 64mb○ Três cópias de cada replicação○ Arquitetura ‘Master - slave’

Page 14: Python 3 + apache hadoop

Sistema de arquivos distribuído

Page 15: Python 3 + apache hadoop

MapReduce

Page 16: Python 3 + apache hadoop

Disco● Framework para processamento distribuído● Feito em Python● Projeto ‘Jovem’● “Não tem a melhor documentação do

mundo”

Page 17: Python 3 + apache hadoop

Apache Hadoop [0]● Framework livre● Escrito em Java● Adaptação do Google File System (GFS)● Adaptação do algorítimo de MapReduce● “Pode ser programado em qualquer

linguagem” - Streaming

Page 18: Python 3 + apache hadoop

Apache Hadoop [1]● Tolerância a falhas● Interface amigável● Boa documentação● YARN

Page 19: Python 3 + apache hadoop

Apache Hadoop [2]

Page 20: Python 3 + apache hadoop

MapReduceLib [1]

Page 21: Python 3 + apache hadoop

Hadoop Streaming [0]● Boa interface para se trabalhar com

qualquer linguagem quando usamos shell script

● Código ‘simples’

Page 22: Python 3 + apache hadoop
Page 23: Python 3 + apache hadoop
Page 24: Python 3 + apache hadoop

Python + Hadoop [0]● Pydoop (CRS4)● Hadoopy ● MrJob (Yelp)● Dumbo (LastFm)

Nenhuma funciona com Python 3+

Page 25: Python 3 + apache hadoop

Python + Hadoop [1]

Page 26: Python 3 + apache hadoop

MapReduceLib [0]● Uma maneira de não mexer mais com Shell e

Java● Uma abstração simples com um único import● Funcionar bem com o modo interativo● Acessar o sistema de arquivos distribuído● Executar funções administrativas● Fosse compatível com Spark

Page 27: Python 3 + apache hadoop
Page 28: Python 3 + apache hadoop
Page 29: Python 3 + apache hadoop

[email protected]

github.com/z4r4tu5tr4