SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
Instituto Nokia de Tecnologia
Wellington Ramos Chevreuil




                   Nokia Institute of Technology
Agenda

• Big Data
  • Surgimento e Ascensão
  • Cenários de BigData
  • Trabalhando com BigData
• Hadoop
  • Introdução
  • Detalhes
  • Componentes Principais
  • Persistência
  • HDFS Design
  • MapReduce
• Ecossistema Hadoop
Big Data
    Surgimento e Ascensão


• Popularização da Internet
• Novos serviços oferecidos
  • Buscadores de conteúdo
  • Redes Sociais
  • Comércio eletrônico (cauda longa)
• Evolução da capacidade de armazenamento
  • Menores Custos
     • Toda atividade do usuário é persistida
  • Resultado: Centenas de TeraBytes, PetaBytes
    ou mesmo ExaBytes!!



                                                  Nokia Institute of Technology
Cenários de BigData
•   Recomendações
    • Produtos e itens para compra
    • Novos amigos em redes sociais
    • Novas músicas para serem ouvidas
    • Novos investimentos
•   Publicidade direcionada
•   Classificação de conteúdos
•   Busca de páginas
•   Localização
•   Compras Coletiva
•   Exemplos de casos de BigData
    • Google, Yahoo, Facebook, Linkedin, Twitter, Nokia,
      Navteq, Groupon, AOL Advertising, IBM, JP Morgan
      Chase, New York Times

                                                      Nokia Institute of Technology
Trabalhando com BigData
• Hardware padrão
   • Max RAM: 64GB
   • Max Disco: 24TB
• Processamento médio do Google/mês: 400PB (2007)
   • Média de processamento: 180GB
   • Tempo processamento 180GB: 45 minutos
• Leitura/Escrita é muito lenta
• Solução
   • Leituras paralelas
      • 1 HD = 75MB/segundo
      • 1.000 HDs = 75 GB/segundo
• Grids?
   • Alto número de leituras/escritas de/para um único dispositivo
     não é eficiente
• Implantando um cluster de máquinas: Hadoop       Nokia Institute of Technology
Hadoop - Introdução
• Sistema de Persistência e Processamento distribuído
• Google GFS
• Google MapReduce
• Apache Software Foundation
• Java
• Linux
• Hardware comódite
  • Relativamente barato
  • Baixa confiabilidade
• Requisitos
  • Suporte a falha parcial
  • Suporte a recuperação de dados
  • Suporte a recuperação individuais de nós
  • Consistência
  • Escalável
Hadoop em detalhes
• Nós independentes entre si (shared nothing)
• Tolerância a falhas
  • Altas taxas de falha (HW comódite)
  • Falha de um nó, blocos são replicados para outro nó
  • Falha de uma tarefa, uma nova tentativa de execução
    é realizada (pelo mesmo nó ou por outro)
• HDFS = Namenode + SecondaryNamenode + Datanodes
  • Vários nós de dados (datanodes)
  • Arquivos divididos em blocos distribuídos através do
    cluster (tamanho padrão: 64 MB)
  • Replicação de blocos (padrão: 3 réplicas)
  • Poucos arquivos grandes
  • Não provê acesso randômico
Componentes Principais

• HDFS (Hadoop File System)
  • Namenode
  • SecondaryNamenode
  • DataNodes
• MapReduce
  • JobTracker
  • TaskTrackers
Persistência com Hadoop
    HDFS

•   Hadoop File System
    • Arquivos divididos em
      blocos
    • Blocos replicados ao
      longo do Cluster
    • Rack awareness




                              Nokia Institute of Technology
Persistência com Hadoop
    Gerenciamento de Dados

•    HDFS = Namenode + SecondaryNamenode + Datanodes
     • Namenode
        • Gerência dos blocos
        • Decide sobre replicação
        • Aloca nós para os blocos
        • Ponto de falha
     • Datanode
        • Contém os blocos de arquivos
        • Responsável pelos dados
     • SecondaryNamenode
        • Processo auxiliar ao Namenode
        • Não é backup do Namenode

                                             Nokia Institute of Technology
HDFS Design
Operação de Escrita




                      Nokia Institute of Technology
HDFS Design
Operação de Leitura




                      Nokia Institute of Technology
Processando dados com Hadoop
    MapReduce
•   MapReduce = JobTracker + TaskTrackers
    • Leituras paralelas
    • Nós podem ser removidos/adicionados ao cluster
      sem necessidade de reinicialização
    • Processos sempre executam aonde os dados estão
    • Duas fases: Map + Reduce
    • Entre o Map e o Reduce: Shuffle and Sort
       • Envia os dados do Mapper para o Reducer
    • Como o shell do linux:




                                                 Nokia Institute of Technology
MapReduce
Execução




            Nokia Institute of Technology
MapReduce
      Passo a passo
  •   API Java para programação
  •   Linguagens script via streamjob
  •   Paralelização e distribuição automática
      • Desenvolvedores só precisam se concentrar no Map e no Reduce
      • Exemplo WordCount
         • Texto de input do Mapper:
mapper1     (“um”, 1)     (“prato”, 1)    (“de”, 1)   (“trigo”, 1)   (“para”, 1)   (“um”, 1)                   (“tigre”, 1)

mapper2     (“dois”, 1)   (“pratos”, 1)   (“de”, 1)   (“trigo”, 1)   (“para”, 1)   (“dois”, 1)                 (“tigres”, 1)


          • Dados intermediários gerados:
mapper1     (“um”, 1)     (“prato”, 1)    (“de”, 1)   (“trigo”, 1)   (“para”, 1)   (“um”, 1)                   (“tigre”, 1)

mapper2     (“dois”, 1)   (“pratos”, 1)   (“de”, 1)   (“trigo”, 1)   (“para”, 1)   (“dois”, 1)                 (“tigres”, 1)


                                                                                   Nokia Institute of Technology
MapReduce
    Passo Intermediário
•   Entre o Map e o Reduce: shuffle and sort
•   Resultado parcial:
                     “de”       1       1

                     “dois”     1

                     “para”     1       1

                     “prato”    1

                     “pratos”   1

                     “tigre”    1

                     “tigres”   1

                     “trigo”    1       1

                     “um”       1       1

                                               Nokia Institute of Technology
MapReduce
    Passo Final
•   Reduce - sumarizando tudo
•   Resultado final:
                     “de”       2

                     “dois”     1

                     “para”     2

                     “prato”    1

                     “pratos”   1

                     “tigre”    1

                     “tigres”   1

                     “trigo”    2

                     “um”       2

                                    Nokia Institute of Technology
MapReduce
Execução




            Nokia Institute of Technology
Integrando Hadoop
• Hadoop facts
  • Não é Banco de Dados
  • Processamento background
  • Precisa ser “alimentado” com dados
  • Não provê leitura randômica
  • API MapReduce Java
• Desafios
  • Integração com sistemas
     • Ler dados de outros sistemas
     • Disponibilizar resultados MapReduces
  • Time de BI e desenvolvedores não Java
• Diversas Soluções “em cima” do Hadoop
  • Ecossistema Hadoop
Ecossistema Hadoop
• Hive
  • Converte queries SQL em MapReduces
• Pig
  • Criado pelo Yahoo
  • Define uma linguagem de script para MapReduces
    denominada PigLatin
• Hbase
  • “O banco de dados do Hadoop”
  • BD NoSQL orientado a colunas que funciona sobre o
    HDFS
  • Provê acesso randômico de leitura e escrita em
    tempo real a grandes quantidades de dados
• Flume
  • Sistema de exportação de logs contendo grande
    quantidade de dados para o HDFS
Ecossistema Hadoop
• Sqoop
  • Ferramenta de exportação de dados de SGBDS para o
    Hadoop
  • Usa JDBC, gera uma classe Java de exportação de
    dados pra cada tabela no esquema relacional
• SCM
  • Ferramenta de auxílo para instalação e configuração
    de clusters Hadoop
• Ganglia
  • Monitoramento de Clusters Hadoop
Referências
•   Hadoop WebSite Oficial
    • http://hadoop.apache.org/
•   Livros sobre Hadoop
    • Hadoop: The Definitive Guide, Tom White, O’Reilly 2009
    • Hadoop In Action, Chuck Lam, Manning 2011
•   Site da Cloudera - Contém informações, tutoriais e vídeo aulas
    sobre Hadoop
    • http://www.cloudera.com
•   Lista de discussão sobre Hadoop
    • mapreduce-user@hadoop.apache.org
•   Artigos Técnicos sobre Hadoop:
    • Processando Dados com Hadoop – MundoJ ed. 52
    • MapReduce Detalhado – MundoJ ed. 53
    • Usando o HDFS – MundoJ ed. 54
    • Big Data com Hadoop – Java Magazine ed 103
Contatos
• Email
  • Wellington.chevreuil@gmail.com
• Linkedin
  • http://www.linkedin.com/profile/view?id=23184915
• Twitter
  • @WChevreuil
Nokia Institute of Technology

Contenu connexe

Similaire à Hadoop - TDC 2012

Big data para programadores convencionais
Big data para programadores convencionaisBig data para programadores convencionais
Big data para programadores convencionaisRoberto Oliveira
 
Palestra: Big Data Open Source com Hadoop - FLISOL 2014 - Curitiba
Palestra: Big Data Open Source com Hadoop - FLISOL 2014 - CuritibaPalestra: Big Data Open Source com Hadoop - FLISOL 2014 - Curitiba
Palestra: Big Data Open Source com Hadoop - FLISOL 2014 - CuritibaMarcio Junior Vieira
 
Big Data Open Source com Hadoop
Big Data Open Source com HadoopBig Data Open Source com Hadoop
Big Data Open Source com HadoopAmbiente Livre
 
Modelos de computação distribuída no Hadoop
Modelos de computação distribuída no HadoopModelos de computação distribuída no Hadoop
Modelos de computação distribuída no HadoopBig Data Week São Paulo
 
Queries em Big Data: Bancos de dados em GPU
Queries em Big Data: Bancos de dados em GPUQueries em Big Data: Bancos de dados em GPU
Queries em Big Data: Bancos de dados em GPUTiago Vinicius
 
Sparsi big data
Sparsi big dataSparsi big data
Sparsi big datasparsi
 
Ciclo 4 - Instalação do Hadoop
Ciclo 4 - Instalação do HadoopCiclo 4 - Instalação do Hadoop
Ciclo 4 - Instalação do HadoopJeane Menegueli
 
Fragmentação no Android
Fragmentação no AndroidFragmentação no Android
Fragmentação no AndroidLucio Maciel
 
Fragmentação no Android: ela existe mesmo?
Fragmentação no Android: ela existe mesmo? Fragmentação no Android: ela existe mesmo?
Fragmentação no Android: ela existe mesmo? iMasters
 
TDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdf
TDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdfTDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdf
TDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdfFernandoIto8
 

Similaire à Hadoop - TDC 2012 (20)

Big data para programadores convencionais
Big data para programadores convencionaisBig data para programadores convencionais
Big data para programadores convencionais
 
Postgres nuvens
Postgres nuvensPostgres nuvens
Postgres nuvens
 
Palestra: Big Data Open Source com Hadoop - FLISOL 2014 - Curitiba
Palestra: Big Data Open Source com Hadoop - FLISOL 2014 - CuritibaPalestra: Big Data Open Source com Hadoop - FLISOL 2014 - Curitiba
Palestra: Big Data Open Source com Hadoop - FLISOL 2014 - Curitiba
 
Hadoop
HadoopHadoop
Hadoop
 
Big Data Open Source com Hadoop
Big Data Open Source com HadoopBig Data Open Source com Hadoop
Big Data Open Source com Hadoop
 
Bigdata
BigdataBigdata
Bigdata
 
BIG DATA na UFSM
BIG DATA na UFSMBIG DATA na UFSM
BIG DATA na UFSM
 
Modelos de computação distribuída no Hadoop
Modelos de computação distribuída no HadoopModelos de computação distribuída no Hadoop
Modelos de computação distribuída no Hadoop
 
Queries em Big Data: Bancos de dados em GPU
Queries em Big Data: Bancos de dados em GPUQueries em Big Data: Bancos de dados em GPU
Queries em Big Data: Bancos de dados em GPU
 
MapReduce
MapReduceMapReduce
MapReduce
 
Sparsi big data
Sparsi big dataSparsi big data
Sparsi big data
 
Hadoop
HadoopHadoop
Hadoop
 
Ciclo 4 - Instalação do Hadoop
Ciclo 4 - Instalação do HadoopCiclo 4 - Instalação do Hadoop
Ciclo 4 - Instalação do Hadoop
 
Fragmentação no Android
Fragmentação no AndroidFragmentação no Android
Fragmentação no Android
 
Fragmentação no Android: ela existe mesmo?
Fragmentação no Android: ela existe mesmo? Fragmentação no Android: ela existe mesmo?
Fragmentação no Android: ela existe mesmo?
 
Treinamento hadoop - dia4
Treinamento hadoop - dia4Treinamento hadoop - dia4
Treinamento hadoop - dia4
 
Seminário Hadoop
Seminário HadoopSeminário Hadoop
Seminário Hadoop
 
TDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdf
TDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdfTDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdf
TDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdf
 
Sql maniacs sql server 2019 Big Data Clusters
Sql maniacs   sql server 2019 Big Data ClustersSql maniacs   sql server 2019 Big Data Clusters
Sql maniacs sql server 2019 Big Data Clusters
 
SQL Maniacs - SQL Server 2019 Big Data Clusters
SQL Maniacs - SQL Server 2019 Big Data ClustersSQL Maniacs - SQL Server 2019 Big Data Clusters
SQL Maniacs - SQL Server 2019 Big Data Clusters
 

Plus de wchevreuil

Cloudera Enabling Native Integration of NoSQL HBase with Cloud Providers.pdf
Cloudera Enabling Native Integration of NoSQL HBase with Cloud Providers.pdfCloudera Enabling Native Integration of NoSQL HBase with Cloud Providers.pdf
Cloudera Enabling Native Integration of NoSQL HBase with Cloud Providers.pdfwchevreuil
 
HBase System Tables / Metadata Info
HBase System Tables / Metadata InfoHBase System Tables / Metadata Info
HBase System Tables / Metadata Infowchevreuil
 
HDFS client write/read implementation details
HDFS client write/read implementation detailsHDFS client write/read implementation details
HDFS client write/read implementation detailswchevreuil
 
HBase tales from the trenches
HBase tales from the trenchesHBase tales from the trenches
HBase tales from the trencheswchevreuil
 
Hbasecon2019 hbck2 (1)
Hbasecon2019 hbck2 (1)Hbasecon2019 hbck2 (1)
Hbasecon2019 hbck2 (1)wchevreuil
 
Web hdfs and httpfs
Web hdfs and httpfsWeb hdfs and httpfs
Web hdfs and httpfswchevreuil
 
HBase replication
HBase replicationHBase replication
HBase replicationwchevreuil
 
I nd t_bigdata(1)
I nd t_bigdata(1)I nd t_bigdata(1)
I nd t_bigdata(1)wchevreuil
 

Plus de wchevreuil (10)

Cloudera Enabling Native Integration of NoSQL HBase with Cloud Providers.pdf
Cloudera Enabling Native Integration of NoSQL HBase with Cloud Providers.pdfCloudera Enabling Native Integration of NoSQL HBase with Cloud Providers.pdf
Cloudera Enabling Native Integration of NoSQL HBase with Cloud Providers.pdf
 
HBase System Tables / Metadata Info
HBase System Tables / Metadata InfoHBase System Tables / Metadata Info
HBase System Tables / Metadata Info
 
HDFS client write/read implementation details
HDFS client write/read implementation detailsHDFS client write/read implementation details
HDFS client write/read implementation details
 
HBase RITs
HBase RITsHBase RITs
HBase RITs
 
HBase tales from the trenches
HBase tales from the trenchesHBase tales from the trenches
HBase tales from the trenches
 
Hbasecon2019 hbck2 (1)
Hbasecon2019 hbck2 (1)Hbasecon2019 hbck2 (1)
Hbasecon2019 hbck2 (1)
 
Web hdfs and httpfs
Web hdfs and httpfsWeb hdfs and httpfs
Web hdfs and httpfs
 
HBase replication
HBase replicationHBase replication
HBase replication
 
Hadoop tuning
Hadoop tuningHadoop tuning
Hadoop tuning
 
I nd t_bigdata(1)
I nd t_bigdata(1)I nd t_bigdata(1)
I nd t_bigdata(1)
 

Hadoop - TDC 2012

  • 1. Instituto Nokia de Tecnologia Wellington Ramos Chevreuil Nokia Institute of Technology
  • 2. Agenda • Big Data • Surgimento e Ascensão • Cenários de BigData • Trabalhando com BigData • Hadoop • Introdução • Detalhes • Componentes Principais • Persistência • HDFS Design • MapReduce • Ecossistema Hadoop
  • 3. Big Data Surgimento e Ascensão • Popularização da Internet • Novos serviços oferecidos • Buscadores de conteúdo • Redes Sociais • Comércio eletrônico (cauda longa) • Evolução da capacidade de armazenamento • Menores Custos • Toda atividade do usuário é persistida • Resultado: Centenas de TeraBytes, PetaBytes ou mesmo ExaBytes!! Nokia Institute of Technology
  • 4. Cenários de BigData • Recomendações • Produtos e itens para compra • Novos amigos em redes sociais • Novas músicas para serem ouvidas • Novos investimentos • Publicidade direcionada • Classificação de conteúdos • Busca de páginas • Localização • Compras Coletiva • Exemplos de casos de BigData • Google, Yahoo, Facebook, Linkedin, Twitter, Nokia, Navteq, Groupon, AOL Advertising, IBM, JP Morgan Chase, New York Times Nokia Institute of Technology
  • 5. Trabalhando com BigData • Hardware padrão • Max RAM: 64GB • Max Disco: 24TB • Processamento médio do Google/mês: 400PB (2007) • Média de processamento: 180GB • Tempo processamento 180GB: 45 minutos • Leitura/Escrita é muito lenta • Solução • Leituras paralelas • 1 HD = 75MB/segundo • 1.000 HDs = 75 GB/segundo • Grids? • Alto número de leituras/escritas de/para um único dispositivo não é eficiente • Implantando um cluster de máquinas: Hadoop Nokia Institute of Technology
  • 6. Hadoop - Introdução • Sistema de Persistência e Processamento distribuído • Google GFS • Google MapReduce • Apache Software Foundation • Java • Linux • Hardware comódite • Relativamente barato • Baixa confiabilidade • Requisitos • Suporte a falha parcial • Suporte a recuperação de dados • Suporte a recuperação individuais de nós • Consistência • Escalável
  • 7. Hadoop em detalhes • Nós independentes entre si (shared nothing) • Tolerância a falhas • Altas taxas de falha (HW comódite) • Falha de um nó, blocos são replicados para outro nó • Falha de uma tarefa, uma nova tentativa de execução é realizada (pelo mesmo nó ou por outro) • HDFS = Namenode + SecondaryNamenode + Datanodes • Vários nós de dados (datanodes) • Arquivos divididos em blocos distribuídos através do cluster (tamanho padrão: 64 MB) • Replicação de blocos (padrão: 3 réplicas) • Poucos arquivos grandes • Não provê acesso randômico
  • 8. Componentes Principais • HDFS (Hadoop File System) • Namenode • SecondaryNamenode • DataNodes • MapReduce • JobTracker • TaskTrackers
  • 9. Persistência com Hadoop HDFS • Hadoop File System • Arquivos divididos em blocos • Blocos replicados ao longo do Cluster • Rack awareness Nokia Institute of Technology
  • 10. Persistência com Hadoop Gerenciamento de Dados • HDFS = Namenode + SecondaryNamenode + Datanodes • Namenode • Gerência dos blocos • Decide sobre replicação • Aloca nós para os blocos • Ponto de falha • Datanode • Contém os blocos de arquivos • Responsável pelos dados • SecondaryNamenode • Processo auxiliar ao Namenode • Não é backup do Namenode Nokia Institute of Technology
  • 11. HDFS Design Operação de Escrita Nokia Institute of Technology
  • 12. HDFS Design Operação de Leitura Nokia Institute of Technology
  • 13. Processando dados com Hadoop MapReduce • MapReduce = JobTracker + TaskTrackers • Leituras paralelas • Nós podem ser removidos/adicionados ao cluster sem necessidade de reinicialização • Processos sempre executam aonde os dados estão • Duas fases: Map + Reduce • Entre o Map e o Reduce: Shuffle and Sort • Envia os dados do Mapper para o Reducer • Como o shell do linux: Nokia Institute of Technology
  • 14. MapReduce Execução Nokia Institute of Technology
  • 15. MapReduce Passo a passo • API Java para programação • Linguagens script via streamjob • Paralelização e distribuição automática • Desenvolvedores só precisam se concentrar no Map e no Reduce • Exemplo WordCount • Texto de input do Mapper: mapper1 (“um”, 1) (“prato”, 1) (“de”, 1) (“trigo”, 1) (“para”, 1) (“um”, 1) (“tigre”, 1) mapper2 (“dois”, 1) (“pratos”, 1) (“de”, 1) (“trigo”, 1) (“para”, 1) (“dois”, 1) (“tigres”, 1) • Dados intermediários gerados: mapper1 (“um”, 1) (“prato”, 1) (“de”, 1) (“trigo”, 1) (“para”, 1) (“um”, 1) (“tigre”, 1) mapper2 (“dois”, 1) (“pratos”, 1) (“de”, 1) (“trigo”, 1) (“para”, 1) (“dois”, 1) (“tigres”, 1) Nokia Institute of Technology
  • 16. MapReduce Passo Intermediário • Entre o Map e o Reduce: shuffle and sort • Resultado parcial: “de” 1 1 “dois” 1 “para” 1 1 “prato” 1 “pratos” 1 “tigre” 1 “tigres” 1 “trigo” 1 1 “um” 1 1 Nokia Institute of Technology
  • 17. MapReduce Passo Final • Reduce - sumarizando tudo • Resultado final: “de” 2 “dois” 1 “para” 2 “prato” 1 “pratos” 1 “tigre” 1 “tigres” 1 “trigo” 2 “um” 2 Nokia Institute of Technology
  • 18. MapReduce Execução Nokia Institute of Technology
  • 19. Integrando Hadoop • Hadoop facts • Não é Banco de Dados • Processamento background • Precisa ser “alimentado” com dados • Não provê leitura randômica • API MapReduce Java • Desafios • Integração com sistemas • Ler dados de outros sistemas • Disponibilizar resultados MapReduces • Time de BI e desenvolvedores não Java • Diversas Soluções “em cima” do Hadoop • Ecossistema Hadoop
  • 20. Ecossistema Hadoop • Hive • Converte queries SQL em MapReduces • Pig • Criado pelo Yahoo • Define uma linguagem de script para MapReduces denominada PigLatin • Hbase • “O banco de dados do Hadoop” • BD NoSQL orientado a colunas que funciona sobre o HDFS • Provê acesso randômico de leitura e escrita em tempo real a grandes quantidades de dados • Flume • Sistema de exportação de logs contendo grande quantidade de dados para o HDFS
  • 21. Ecossistema Hadoop • Sqoop • Ferramenta de exportação de dados de SGBDS para o Hadoop • Usa JDBC, gera uma classe Java de exportação de dados pra cada tabela no esquema relacional • SCM • Ferramenta de auxílo para instalação e configuração de clusters Hadoop • Ganglia • Monitoramento de Clusters Hadoop
  • 22. Referências • Hadoop WebSite Oficial • http://hadoop.apache.org/ • Livros sobre Hadoop • Hadoop: The Definitive Guide, Tom White, O’Reilly 2009 • Hadoop In Action, Chuck Lam, Manning 2011 • Site da Cloudera - Contém informações, tutoriais e vídeo aulas sobre Hadoop • http://www.cloudera.com • Lista de discussão sobre Hadoop • mapreduce-user@hadoop.apache.org • Artigos Técnicos sobre Hadoop: • Processando Dados com Hadoop – MundoJ ed. 52 • MapReduce Detalhado – MundoJ ed. 53 • Usando o HDFS – MundoJ ed. 54 • Big Data com Hadoop – Java Magazine ed 103
  • 23. Contatos • Email • Wellington.chevreuil@gmail.com • Linkedin • http://www.linkedin.com/profile/view?id=23184915 • Twitter • @WChevreuil
  • 24. Nokia Institute of Technology