O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Como construir sua primeira aplicação de Big Data na AWS

1.388 visualizações

Publicada em

As inovações em Big Data estão acontecendo cada vez mais rapidamente. Enquanto isso a demanda por profissionais com habilidades gerenciais focadas em análise de dados continua aumentando. Sendo assim, como você pode acompanhar esta tendência? Conheça as principais arquiteturas de Big Data e aprenda a lançar uma aplicação de Big Data.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Como construir sua primeira aplicação de Big Data na AWS

  1. 1. © 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Hugo Rozestraten, Arquiteto de Soluções 14 de Setembro de 2016 Criação do seu primeiro aplicativo de big data na AWS
  2. 2. Amazon S3 Amazon Kinesis Amazon DynamoDB Amazon RDS (Aurora) AWS Lambda KCL Apps Amazon EMR Amazon Redshift Amazon Machine Learning Coletar Processar Analisar Armazenar Coleta de dados e armazenamento Processamento de dados Processamento de eventos Análise de dados Dados Respostas Ecossistema de big data na AWS
  3. 3. Seu primeiro aplicativo de big data na AWS ?
  4. 4. Ecossistema de big data na AWS - Coletar Coletar Processar Analisar Armazenar Dados Respostas
  5. 5. Ecossistema de big data na AWS - Processar Coletar Processa r Analisar Armazenar Dados Respostas
  6. 6. Ecossistema de big data na AWS - Analisar Coletar Processa r Analisar Armazenar Dados Respostas SQL
  7. 7. Configuração
  8. 8. Recursos 1. Interface da linha de comando da AWS (aws-cli) configurada 2. Fluxo do Amazon Kinesis com um único fragmento 3. Bucket do Amazon S3 para manter os arquivos 4. Cluster do Amazon EMR (dois nós) com Spark e Hive 5. Cluster de data warehouse do Amazon Redshift (nó único)
  9. 9. Amazon Kinesis Criar um fluxo do Amazon Kinesis para manter os dados de entrada: aws kinesis create-stream --stream-name AccessLogStream --shard-count 1
  10. 10. Amazon S3 NOME DO SEU BUCKET
  11. 11. Amazon EMR Iniciar um cluster de três instâncias com Spark e Hive instalados: m3.xlarge SUA REGIÃO DA AWS SUA CHAVE SSH DA AWS
  12. 12. Amazon Redshift ESCOLHA UMA SENHA DO REDSHIFT
  13. 13. Seu primeiro aplicativo de big data na AWS 1. COLETAR: Fluxo de dados para o Kinesis com Log4J 2. PROCESSAR: Processar dados com EMR usando Spark e Hive 3. ANALISAR: Analisar dados no Redshift usando SQL ARMAZENAR SQL
  14. 14. 1. Coletar
  15. 15. Amazon Kinesis Log4J Appender
  16. 16. Amazon Kinesis Log4J Appender Arquivo de credenciais AwsCredentials.properties com estas credenciais o usuário do IAM que tenha permissão para acesso ao Amazon Kinesis: accessKey=YOUR-IAM-ACCESS-KEY secretKey=YOUR-SECRET-KEY Então inicie o Amazon Kinesis Log4J Appender:
  17. 17. Formato do arquivo de registro
  18. 18. Spark •Mecanismo rápido e básico para processamento de dados em grande escala •Grave aplicativos rapidamente em Java, Scala ou Python •Combine SQL, streaming e análises complexas.
  19. 19. Uso do Spark no EMR SUA CHAVE SSH DA AWS NOME DO HOST DO EMR Inicie o shell do Spark: --jars /usr/lib/spark/extras/lib/spark- streaming-kinesis-asl.jar,amazon-kinesis-client- 1.5.1.jar
  20. 20. Amazon Kinesis e streaming do Spark Produtor Amazon Kinesis Amazon S3 DynamoD B KCL O streaming do Spark usa KCL para o Kinesis Amazon EMR O aplicativo de streaming do Spark para ler do Kinesis e gravar no S3
  21. 21. Streaming do Spark - Leitura do Kinesis /* Setup the KinesisClient */ /* Determine the number of shards from the stream */
  22. 22. Streaming do Spark - Gravação no S3 /* Merge the worker Dstreams and translate the byteArray to string */ /* Write each RDD to Amazon S3*/
  23. 23. Visualizar os arquivos de saída no Amazon S3 SEU BUCKET DO S3 SEU BUCKET DO S3 aaaa mm dd HH
  24. 24. 2. Processar
  25. 25. Hive do Amazon EMR Adapta a consulta como SQL (HiveQL) para execução no Hadoop Esquema na leitura: mapeie a tabela para os dados de entrada Acessar dados em Amazon S3, Amazon DymamoDB e Amazon Kinesis Consultar formatos de entrada complexos usando SerDe Transformar dados com funções definidas pelo usuário (UDF)
  26. 26. Uso do Hive no Amazon EMR SUA CHAVE SSH DA AWS NOME DO HOST DO EMR Iniciar Hive: hive
  27. 27. Criar uma tabela que aponte para o bucket do Amazon S3 CREATE EXTERNAL TABLE access_log_raw( host STRING, identity STRING, user STRING, request_time STRING, request STRING, status STRING, size STRING, referrer STRING, agent STRING ) PARTITIONED BY (year INT, month INT, day INT, hour INT, min INT) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe' WITH SERDEPROPERTIES ( "input.regex" = "([^ ]*) ([^ ]*) ([^ ]*) (-|[[^]]*]) ([^ "]*|"[^"]*") (-|[0-9]*) (-|[0-9]*)(?: ([^ "]*|"[^"]*") ([^ "]*|"[^"]*"))?" ) LOCATION 's3://SEU BUCKET DO S3/access-log-raw'; msck repair table access_log_raw;
  28. 28. Processar dados usando o Hive Transformaremos os dados que são retornados pela consulta antes de gravá-los na tabela Hive externa armazenada no Amazon S3 Funções definidas pelo usuário (UDF) do Hive em uso para as transformações de texto: from_unixtime, unix_timestamp e hour O valor de "hour" é importante: ele é usado para dividir e organizar os arquivos de saída antes de gravar no Amazon S3. Com essas divisões, podemos carregar os dados com mais eficiência no Amazon Redshift depois no laboratório com o comando "COPY" paralelo
  29. 29. Criar uma tabela Hive externa no Amazon S3 SEU BUCKET DO S3
  30. 30. Configurar partição e compactação -- configurar "particionamento dinâmico" do Hive -- isso dividirá os arquivos de saída ao gravar no Amazon S3 -- compactar arquivos de saída no Amazon S3 usando Gzip
  31. 31. Consultar Hive e gravar saída no Amazon S3 -- converter carimbo de data/hora do registro do Apache em um carimbo de data/hora do UNIX -- dividir arquivos no Amazon S3 pela hora nas linhas do registro INSERT OVERWRITE TABLE access_log_processed PARTITION (hour) SELECT from_unixtime(unix_timestamp(request_time, '[dd/MMM/yyyy:HH:mm:ss Z]')), host, request, status, referrer, agent, hour(from_unixtime(unix_timestamp(request_time, '[dd/MMM/yyyy:HH:mm:ss Z]'))) como hora FROM access_log_raw;
  32. 32. Visualização do status da tarefa http://127.0.0.1/9026
  33. 33. Visualizar os arquivos de saída no Amazon S3 SEU BUCKET DO S3 SEU BUCKET DO S3
  34. 34. Spark SQL Módulo do Spark para trabalhar com dados estruturados usando SQL Execute consultas Hive não modificadas nos dados existentes.
  35. 35. Uso do Spark-SQL no Amazon EMR SUA CHAVE SSH DA AWS NOME DO HOST DO EMR Iniciar Hive: spark-sql
  36. 36. Consultar os dados com o Spark -- retornar a primeira linha no fluxo -- retornar todos os itens contados no fluxo -- encontrar os 10 hosts principais
  37. 37. 3. Analisar
  38. 38. Conectar ao Amazon Redshift # using the PostgreSQL CLI ENDPOINT DO REDSHIFT Ou use qualquer cliente JDBC ou ODBC SQL com os drivers PostgreSQL 8.x ou suporte nativo do Redshift • Aginity Workbench para Amazon Redshift • SQL Workbench/J
  39. 39. Criar uma tabela do Amazon Redshift para manter os dados
  40. 40. Carregamento de dados no Amazon Redshift O comando "COPY" carrega arquivos paralelamente COPY accesslogs FROM 's3://SEU BUCKET DO S3/access-log-processed' CREDENTIALS 'aws_access_key_id=SUA CHAVE DE ACESSO DO IAM; aws_secret_access_key=SUA CHAVE SECRETA DO IAM' DELIMITER 't' IGNOREHEADER 0 MAXERROR 0 GZIP;
  41. 41. Consultas de teste do Amazon Redshift -- encontrar distribuição de códigos de status ao longo dos dias -- encontrar os códigos de status 404 -- mostrar todas as solicitações de status como PÁGINA NÃO ENCONTRADA
  42. 42. Seu primeiro aplicativo de big data na AWS Um favicon corrigiria 398 dos 977 erros de PÁGINA NÃO ENCONTRADA (404) no total
  43. 43. ... pelo mesmo preço de uma xícara de café Experimente na nuvem AWS... Serviço Custo estimado* Amazon Kinesis $1.00 Amazon S3 (nível gratuito) $0 Amazon EMR $0.44 Amazon Redshift $1.00 Total estimado $2.44 *O custo estimado presume: uso do nível gratuito onde disponível, instâncias de custo mais baixo, conjunto de dados com no máximo 10 MB e instâncias em execução por menos de 4 horas. Os custos podem variar dependendo das opções selecionadas, do tamanho do conjunto de dados e do uso. $3.50
  44. 44. Obrigado Blog de Big Data da AWS blogs.aws.amazon.com/bigdata

×